С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
CollSpack
7 / 7 / 1
Регистрация: 21.01.2013
Сообщений: 55
1

Как добавить дополнительные параметры к программно создаваемым кнопкам?

02.07.2013, 19:32. Просмотров 1077. Ответов 4
Метки нет (Все метки)

Программа готова к эксплуатации, но появилась необходимость добавить возможность изменять размер текста.
Код построен по принципу - выбрать автора - перейти на новый активити и там построить МНОГО кнопок с цитатами на которые можно нажать и расшарить текст из кнопки.

Изнутри она выглядит так:
Java
1
2
3
4
5
6
7
8
9
10
11
//Параметры кнопок
LinearLayout.LayoutParams lParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
 
//На основе выбранного автора построить кнопки с текстом
/////////////////////////
if (strWhoIsSelected.equals("ammian_martsellin"))
{
Button ammian_martsellin_1=new Button(this); ammian_martsellin_1.setText(R.string.ammian_martsellin_1); llPreViewList.addView(ammian_martsellin_1, lParams);
Button ammian_martsellin_2=new Button(this); ammian_martsellin_2.setText(R.string.ammian_martsellin_2); llPreViewList.addView(ammian_martsellin_2, lParams);
}
//Подобных блоков if/else более 60, и в каждой от 1 до 200+ кнопок
Как можно БЕЗБОЛЕЗНЕННО добавить параметр setTextSize?
(вариант каждая_кнопка.setTextSize(int,float) не подходит, ибо нельзя использовать "ctrl+f>find/replace" из-за уникальных имен)
Есть что-либо чтоб можно было добавить как lParams?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2013, 19:32
Ответы с готовыми решениями:

Как в Toolbar добавить дополнительные views
Здравствуйте! Собственно название темы и есть вопрос... Есть Toolbar,...

Как программно добавить элемент в уже существующий layout?
как программно добавить элемент в уже существующий layout? например при нажатии...

Можно ли изменять параметры разметки программно?
Может не корректно озаглавил тему, но нужно вот что: у виджета есть разметка в...

Как мне обратиться к кнопкам в цикле?
Прошу прощения, это наверно глупый вопрос, но я даже не знаю какой запрос...

Как присвоить фон отдельным кнопкам клавиатуры?
Имеется своя клавиатура, написанная по гайду на developer.android.com...

4
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.07.2013, 00:03 2
ничего не понял.
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
03.07.2013, 15:45 3
А чем
Java
1
button.setTextSize(32);
или
Java
1
button.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 32);
не подходит?
0
gang018
7 / 7 / 0
Регистрация: 30.06.2013
Сообщений: 18
03.07.2013, 20:38 4
изменяйте размер текста под циклом, если не хотите использовать копипаст
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.07.2013, 22:42 5
а лучше в xml

а раз решили делать все в коде, то создали бы метод который создает и настраивает кнопку и постоянно бы его вызывали.
например
Java
1
2
Button ammian_martsellin_1= createButton(R.string.ammian_martsellin_1);
Button ammian_martsellin_2= createButton(R.string.ammian_martsellin_2);
тогда любые изменения делались бы добавлением одной строки метод createButton.
0
03.07.2013, 22:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2013, 22:42

Как в Android Studio обращаться к компонентам (кнопкам, полям, и т.д.)?
как например делать что бы при клике на кнопку(в андроид студио)всплывало...

Добавить файлы и папки в assets программно
Можно ли добавить файлы и папки в assets программно?

Программно добавить картинку в центр поля
Я динамически добавляю картинку, и мне нужно что бы она была по центру по...


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

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

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