Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263

4 кнопки и layout

29.08.2013, 16:44. Показов 4137. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем.

Перечитал много разных тем на stackoverflow, там столько советов и советчиков, что голова пухнет. Большая часть советов о том, как правильно сделать, вообще отдает шизофренией.
И вот я попытался сделать (как мне казалось) простейшую вещь - разместить 4 кнопки на весь экран так, что бы они занимали всю площадь. Вот как на картинке.
Кликните здесь для просмотра всего текста


Во первых, мне кажется, что я сделал не совсем оптимально. Не покидает чувство, что можно сделать как-то проще, но не могу понять как.
Во вторых, лезут варнинги на каждой кнопке "Nested weights are bad for performance". Я понимаю, что это не смертельно, но уже дело принципа.
xml
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity"
    tools:ignore="HardcodedText" >
 
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="horizontal" >
 
        <Button
            android:id="@+id/button1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="1" />
 
        <Button
            android:id="@+id/button2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="2" />
    </LinearLayout>
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="horizontal" >
 
        <Button
            android:id="@+id/button3"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="3" />
 
        <Button
            android:id="@+id/button4"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="4" />
    </LinearLayout>
 
</LinearLayout>

Может надо использовать другие layout-ы ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.08.2013, 16:44
Ответы с готовыми решениями:

Layout для кнопки
Добрый день. Добавляю кнопки программно через new MyButton. Можно как то создать отдельно loayot.xml где описать внешний вид, а потом...

Как растянуть 3 кнопки по ширине layout?
Вот 3 кнопки, которые нужно растнуть? чтоб они были одинаковой ширины и заняли всю ширину layout Где и какой параметр...

Как изменять текст в layout c кнопки?
Как изменять текст в listView c помощью кнопки, прямо в приложении Например:в apk приложении listView список. Нажимаем на неё...

6
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.08.2013, 23:15
GridLayout вроде самый оптимальный для этого, но я бы сделал точно также)

Добавлено через 12 минут
еще есть TableLayout
1
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
29.08.2013, 23:43  [ТС]
черт побери, я же пробовал TableLayout и не получалось, а сейчас вот еще раз сделал и вышло нормально
практически тоже самое, но уже не ругается, алилуя! и спасибо

вот xml без красивостей, вдруг кому пригодится
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:columnCount="2"
    android:orientation="vertical"
    android:rowCount="2"
    tools:context=".MainActivity" >
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="horizontal" >
 
        <Button
            android:id="@+id/button1"
            style="?android:attr/borderlessButtonStyle"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1" />
 
        <Button
            android:id="@+id/button2"
            style="?android:attr/borderlessButtonStyle"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1" />
    </LinearLayout>
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="horizontal" >
 
        <Button
            android:id="@+id/button3"
            style="?android:attr/borderlessButtonStyle"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1" />
 
        <Button
            android:id="@+id/button4"
            style="?android:attr/borderlessButtonStyle"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1" />
    </LinearLayout>
 
</TableLayout>
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.08.2013, 23:54
а через TableRow не пробовали?
http://www.mkyong.com/android/... t-example/
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
30.08.2013, 09:46  [ТС]
тоже работает
в принципе одинаковое количество строк получается, те же атрибуты - вес, направление
для себя оставил Table + LinearLayout, полезно так поработал вчера, открыл для себя Hierarchy Viewer
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.08.2013, 20:06
c GridLayout меньше строк должно получиться.
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
31.08.2013, 17:09  [ТС]
выяснил, что у GridLayout нет атрибута weight, а без него не представляю как заставить элементы занять 50% доступного пространства
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.08.2013, 17:09
Помогаю со студенческими работами здесь

Анимированный дизайн смены Layout или просто выдвигаемый layout
Ну, думаю тут и так всё понятно. Я просто не знаю, какие ключевые слова вводить в гугл, всё что попадается это Drawer А мне нужнен просто...

At android.widget.LinearLayout.setChildFrame Layout в Layout-те
Нужен совет бывалых. У меня есть активити которое запускается с мейн активити, на нем лежит Layout (горизонтальный) в котором 2й...

Не хочет работать в layout, но включается в layout-land
доброе утро ! пишу первое приложение. обычный мейн.хмель выглядит вот так : &lt;?xml version=&quot;1.0&quot;...

Использование Layout в другом Layout
Нужно в одной форме использовать 2 вида Layout, причем один должен быть вложен в другой, это реально?

Добавить layout на layout
Нашёл такой код: layout.add(view); только не понимаю куда его писать. Нужно чтобы один layout можно было использовать в нескольких других. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru