Форум программистов, компьютерный форум CyberForum.ru

Как подогнать ряд кнопок в TableLayout под ширину экрана? - Android

Восстановить пароль Регистрация
Другие темы раздела
Android GPS координаты http://www.cyberforum.ru/android-dev/thread1643772.html
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); //Метод получения контактных данных getContacts(); // на выходе output - содержит все контакты String lng; String lat;
Android Ругается на FragmentTransaction Пишу Bluetooth-чат. Пример был взят с GoogleDev. Студия ругается мол символ неизвестный, хотя библиотеку подключил, в чем проблема? p.s. Фрагментами никогда не занимался p.s.s. Часть кода, например код создания конт. меню и лога закомментирована, т.к. не нужна import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; import android.os.Bundle; http://www.cyberforum.ru/android-dev/thread1643737.html
Android Локализация приложения
Добрый вечер! Интересует следующий вопрос, в андроид локализация приложения происходит в автоматическом режиме в зависимости от установленного языка на устройстве, но можно ли программно управлять данным процессом? Например, указать строковые значения какого языка подгрузить, либо чтобы строковые значения из strings.xml брались согласно настроек устройства, а звуковое сопровождение (из папок...
Dx.bat выдает ошибку Android
При вызове: drStudio>call C:\Users\user\AppData\Local\Android\sdk\build-tools\23.0.1\dx.bat --dex --output=C:\AndrStudio\bin\classes.dex C:\AndrStudio\obj Выдается ошибка: UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.RuntimeException: Exception parsing classes
Android Разметка под Андроид http://www.cyberforum.ru/android-dev/thread1643262.html
Нужна помощь в верстке, пишите кто сможет помочь Дубль темы во Фрилансе, закрыто
Android Как сделать панель с кнопками внизу, которую можно проматывать Подскажите, как сделать такую панель? Внизу кнопки и они все не входят на экран, можно промотать вправо. Как такое сделать? подробнее

Показать сообщение отдельно
Паблито
не спать!
1876 / 1610 / 497
Регистрация: 12.05.2014
Сообщений: 5,819
Завершенные тесты: 1
21.01.2016, 13:20     Как подогнать ряд кнопок в TableLayout под ширину экрана?
Цитата Сообщение от egorikftp Посмотреть сообщение
Вопрос, как можно сделать, чтобы ряд кнопок влезал на всех экранах?
делать все в xml

Добавлено через 1 час 21 минуту
вот набросал, может пригодится
1. открываем файл style.xml и дописываем такие строки
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
    <style name="MyAwesomeStyle">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_weight">1</item>
    </style>

со стилем кода будет куда меньше и менять потом что-то удобнее

2. создаем файл разметки, например field.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
53
54
55
56
57
58
59
60
61
62
63
64
65
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
 
    <LinearLayout
        android:id="@+id/field"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:orientation="vertical">
 
        <LinearLayout
            style="@style/MyAwesomeStyle"
            android:orientation="horizontal">
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="1" />
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="2" />
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="3" />
        </LinearLayout>
 
        <LinearLayout
            style="@style/MyAwesomeStyle"
            android:orientation="horizontal">
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="4" />
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="5" />
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="6" />
        </LinearLayout>
 
        <LinearLayout
            style="@style/MyAwesomeStyle"
            android:orientation="horizontal">
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="7" />
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="8" />
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="9" />
        </LinearLayout>
    </LinearLayout>
 
</FrameLayout>

Это просто пример разметки, 9 кнопок которые будут квадратиком в центре экрана. При повороте размер будет пересчитываться.

3. в onCreate() добавляем немного кода
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
        findViewById(R.id.field).addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
            @Override
            public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
                View parentView = (View) v.getParent();
                int size = Math.min(parentView.getMeasuredWidth(), parentView.getMeasuredHeight());
                ViewGroup.LayoutParams params = v.getLayoutParams();
                params.width = size;
                params.height = size;
                v.setLayoutParams(params);
            }
        });

в принципе и все
 
Текущее время: 09:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru