Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
bt1024
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 31
#1

Размер кнопок, не пойму что влияет на их размер - Программирование Android

21.10.2014, 18:12. Просмотров 878. Ответов 4
Метки нет (Все метки)

Нужно специфичное расположение кнопок, добиваюсь этого вложением множества вертикальных и горизонтальных Layout-ов. В главный (Hor) добавляю вертикальный в него горизонтальный, сюда добавляю кнопку и вертикальный лайаут в который добавляю пару рядов кнопок (каждый ряд в горизонтальном лайауте). Так сложно (а может это обычно не знаю) повторюсь из за специфичных требований к размещению кнопок, рядом с тем или иным лайаутом может быть ещё кнопка и т.д. Все делается программно, xml не используется, всё динамично.
Проблема в том что ряды кнопок не помещаются на экране, а что определяет размер кнопок не мне ясно.

Кнопка это обычная toggleButton с подставляемыми изображениями в разных состояниях
Что сделать что бы ряды кнопок стали вмещаться в лайаут, btn.setHeight(val) и setWidth(..) не работают

Я уже морально готов получить размер экрана в пикселях и сам задавать размеры всех эллементов, но может есть способы так не поступать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2014, 18:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Размер кнопок, не пойму что влияет на их размер (Программирование Android):

Как подгонять размер диалоговых окон по размер экрана? - Программирование Android
Здравствуйте! Как подгонять размер диалоговых окон по размер экрана? У меня есть класс, унаследованный от DialogFragment. При запуске...

Размер шрифта, размер контролов - Программирование Android
Почему когда делаю TextView.setTextSize(14); на одном устройстве показывает нормально, а на другом показывает в 2 или 3 раза больше?? ...

Сделать так что бы размер кнопки неизменяемым, какой бы там текст не был - Программирование Android
Сделать так что бы размер кнопки неизменяемым, какой бы там текст не был

Какой приблизительно размер добавляемого компонента и влияет ли он на размер самой программы - C++ Builder
Здравствуйте, меня интересует вопрос, когда создаешь какой нить компонент, какой приблизительно его размер и влияет ли он на размер самой...

Влияет ли размер BLOB поля на размер загружаемых данных - Delphi БД
вот если размер фото у меня 6 МБ а размер BLOB поля к примеру 3 МБ то оно будет сохранять фото в таблицу?

Влияет ли размер корпуса на температуру железа? - Корпуса
Собственно подумываю взять новый корпус. В любой из них влезет нормальный башенный кулер, с нормальной видеокартой. На примете 2...

4
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
21.10.2014, 18:44 #2
Размеры можно задать через LayoutParams.
0
bt1024
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 31
21.10.2014, 20:01  [ТС] #3
В LayoutParam можно задать размеры layout, а мне надо размеры кнопок задать, что бы 10 штук вряд масшабировались на экран, а не что-то решает что размер кнопки 160 пк(например) и 10 кнопок в длину больше чем экран. А лучше всего что бы кнопки сами масштабировались под размеры layout-а, WRAP_CONTENT или MATCH_CONTENT не помогают

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
28
29
30
31
32
33
34
35
36
37
Вот допустим создадим вертикальный слой
Lay1Ver  = new LinearLayout(this);
Lay1Ver.setOrientation(LinearLayout.VERTICAL);
 
также настройки слоя
LayParam = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
Lay1Ver.setLayoutParams(LayParam);
 
Таких слоев несколько, часть горизонтальные, другие вертикальные
 
Есть горизонтальный MainLayout 
 
        MainLayout = new LinearLayout(this);
        MainLayout.setOrientation(LinearLayout.HORIZONTAL);
        linHorGeneralParam = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
        MainLayout.setPadding(5, 10, 5, 10);
        setContentView(MainLayout, linHorGeneralParam); 
 
Добавим в слой LayHRow1 кнопки
        for(int i = 0; i < 12; i++){
            LayHRow1.addView(ButtonsArray.get(i));
        }
 
Компонуем
        Lay3Ver.addView(LayHRow1);
        Lay3Ver.addView(LayHRow2);
        Lay3Ver.addView(LayHRow3);
 
        Lay2Hor.addView(ButtonsArray.get(item_number));
        Lay2Hor.addView(Lay3Ver);
        Lay1Ver.addView(Lay2Hor);
        
        MainLayout.addView(Lay1Ver);
 
Все кнопки создаются так
        ToggleButton tb = new ToggleButton(this);
и добавляются в буфер откуда используются. Естественно там они настраиваются, есть обработчик и т.д., не суть
А суть в том что кнопки в ряде LayHRow1 оказываются слишком длинные, что влияет на их размер?
0
bt1024
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 31
22.10.2014, 22:55  [ТС] #4
Ну хоть намекните куда смотреть, как сказать андроиду уменьшить размер кнопок и вместить их в экран.

Добавлено через 2 часа 15 минут
Вижу никто мне не подскажет
Кроме вот такого варианта, ещё существуют средства заставить андроид впихнуть все что сказано в видимый размер?
Java
1
2
3
for(int i = 0; i < 12; i++){
            LayHRow1.addView(ButtonsArray.get(i), width, height);
        }
0
bt1024
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 31
24.10.2014, 00:21  [ТС] #5
Таки разрулил все через размер экрана и по прапорции устанавливал размеры. По пути наткнулся на баг, когда все layout-ы динамические, а сами объекты статические (всегда одни и теже) то будет ошибка из-за того что объект "прицепился" к layout-у и считает его своим parent и его надо отцепить, у меня в нагромождении объектов это как то было неочевидно Короче или всё динамическое или всё статическое, так проще жить.
0
24.10.2014, 00:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2014, 00:21
Привет! Вот еще темы с ответами:

Размер текста системы влияет на сайт - HTML, CSS
Здравствуйте! Проблема в том что сайт при настройке размера текста в windows в 100% выглядит нормально. Но как только сайт...

Input text размер шрифта влияет на позицию блока - HTML, CSS
Скажите пожалуйста, есть - псевдокод &lt;div флекс бокс выравнивание по хy центр&gt; &lt;form action=&quot;...&quot; method=&quot;post&quot;&gt; &lt;input...

Влияет размер буферной памяти на долговечность жесткого диска и как? - Жесткие диски
иду покупать жесткий диск для ноутбука мастер из сервиса дает советы какой нужен жесткий диск говорит главное максимальный размер буферной...

Как влияет использование виртуального вызова на изменяемость, наглядность и размер программ? - C++
скажите,пожалуйста, как влияет использование виртуального вызова на изменяемость, наглядность и размер программ?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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