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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
valerik
2 / 2 / 0
Регистрация: 10.11.2014
Сообщений: 15
#1

Программное изменение размеров Button - Программирование Android

10.11.2014, 16:27. Просмотров 859. Ответов 5
Метки нет (Все метки)

Добрый день!
Начал изучать программирование на андроид. Решил написать простенькую игру.

Нужно программным способом разместить на экране кнопки определённого размера, что бы в ширину экрана влезло 9 кнопок. У меня получается следующая картина (см. скриншот):

кнопки ставятся произвольного размера и этот размер я не могу поменять из программы.

Вот код
Java
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
    private TableLayout mTL;
    private TableRow mTR;
    private Button mB;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.game_screen);
        mTL = (TableLayout) findViewById(R.id.container);
        addNumbers();
    }
 
    protected void addNumbers() {
      
        for (int y = 0; y <= 2; y++) {
            mTR = new TableRow(this);
            mTL.addView(mTR, y);
 
            for (int x = 0; x <= 8; x++) {
                mB = new Button(this);
                mTR.addView(mB, x);
                mB.setText(String.valueOf(x) + ":" + String.valueOf(y));
                mB.setId(x + ':' + y);
                mB.setMaxWidth(20);  //Вот эта строка эффекта не даёт ни какого
            }
        }
    }
Вопрос: как задать необходимую ширину кнопки в процентах от ширины экрана?
Миниатюры
Программное изменение размеров Button  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2014, 16:27     Программное изменение размеров Button
Посмотрите здесь:

Программное изменение размеров ImageView - Программирование Android
Для всех View задаю размер через .getLayoutParams().width = mywidth; Но для ImageView это почему-то не работает ( пробовал так же...

Программное изменение цвета текста button - Программирование Android
Доброго времени суток всем! Возникла проблема: Необходимо, чтобы при нажатии на кнопку, она меняла цвет текста (на цвет из ресурсов),...

Программное создание обработчика события OnClick для button - Программирование Android
Иметься кнопка, которая создается самим пользователем Код создания кнопки: public void CreateButton() { LinearLayout...

Программное изменение src в ImageView - Программирование Android
Здравствуйте. Есть строка с названием рессурса (logo.png). Подскажите, как программно изменить ImageVie , загрузив изображение с этим...

Программное изменение регистра клавиатуры - Программирование Android
подскажите пожалуйста, есть ли возможность поменять регистр на клавиатуре, когда она вызывается на экран программно. (мне необходимо, чтобы...

Программное масштабирование - Программирование Android
Доброе время суток. Возникла проблема с масштабированием при поддержки разных экранов разных производителей. Для масштабирования...

Программное создание layout - Программирование Android
Впервые приходится создавать экран полностью через класс. Не могу понять, как должны привязываться компоненты: снизу вверх или сверху вниз?...

Программное добавление элементов - Программирование Android
Уважаемы подскажите такую ситуацию, не могу немного понять...Как на Relative разметке программно добавлять элементы, чтобы их можно было...

Программное наполнение GridLayout - Программирование Android
В цикле заполняю GridLayout картинками. По нажатию на картинку, GridLayout очищается и заполняется новым набором картинок. Очищаю...

Программное удаление SMS - Программирование Android
Добрый день. Необходимо удалить только что пришедшее смс от определенного отправителя. В интернете нашел, что используют следующий код: ...

Программное создание TextView - Программирование Android
Всем привет! помогите пожалуйста. Как сделать по нажатию на кнопку автоматическое создание нескольких других элементов например TextView...

Программное завершение приложения - Программирование Android
Здравствуйте. Как программно завершить приложение? То есть не завершить активность через finish(), а именно выйти из приложения вообще.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
10.11.2014, 16:29     Программное изменение размеров Button #2
valerik, да запихните их в linearLayout и поставьте всем вес 1.
valerik
2 / 2 / 0
Регистрация: 10.11.2014
Сообщений: 15
10.11.2014, 16:32  [ТС]     Программное изменение размеров Button #3
YuraAAA, Мне нужно сделать таблицей, что бы в каждой строке было по 9 кнопок, а строк будет много и они будут динамически добавляться
Sony17
28 / 28 / 6
Регистрация: 24.05.2013
Сообщений: 157
10.11.2014, 23:01     Программное изменение размеров Button #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от valerik Посмотреть сообщение
в каждой строке было по 9 кнопок, а строк будет много и они будут динамически добавляться
Ну вот эти 9 кнопок и добавить на LinearLayout и каждой кнопке ставить одинаковый вес. И каждая новая строка с кнопками будет новой LinearLayout.
Вот только 9 кнопок в одном ряду, с текстом типа n:n, в портретной ориентации будут очень маленькими и неудобными.
valerik
2 / 2 / 0
Регистрация: 10.11.2014
Сообщений: 15
11.11.2014, 16:36  [ТС]     Программное изменение размеров Button #5
Sony17, всё допёр теперь! Просто не знал, что layout вкладывать друг в друга можно. Вопрос разрешился!
valerik
2 / 2 / 0
Регистрация: 10.11.2014
Сообщений: 15
24.11.2014, 20:12  [ТС]     Программное изменение размеров Button #6
Запилил свою первую игру на андроид! Зацените
https://play.google.com/store/apps/d....myapplication
Собственно её и писал, когда создавал эту тему
Yandex
Объявления
24.11.2014, 20:12     Программное изменение размеров Button
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru