Я хочу изменить стиль кнопки виджета Android (в частности, углов) полностью программно. Значит, я хотел бы сделать это без каких-либо xml-файлов. Из моих исследований я прихожу к выводу, что это невозможно. Является ли мое заключение правильным или кто-то знает, как это можно сделать?Как изменить стиль кнопки виджета Android программно?
ответ
Почему, на ваш взгляд, это так? В качестве примера возьмем один из ваших предметов, вот способ: set padding.
Для углов вы можете использовать выталкиваемую форму с закругленными углами. См. documentation for drawables. Есть также много questions (с ответами) на StackOverflow об этом тоже. Если вы хотите сделать это программно, то есть RoundedRectShape.
Вы должны смотреть на унаследованные методы из TextView и Вид кнопки:
setPadding(int left, int top, int right, int bottom)
назвать один ... Вы можете также изменить layoutparams на кнопку объекта, который дает доступ ко всем XML атрибуты обычно доступны. В общем, вы можете делать все программно, что вы можете сделать в xml.
Если этого недостаточно, вы можете расширить класс Button и переопределить метод OnDraw, чтобы изменить то, как андроид рисует ваша кнопка
EDIT:
Может быть, вы можете добавить тему XML так же, как эту тему предлагает: How to programmatically setting style attribute in a view
, а затем в нем установлен
и добавить тему программно кнопку? Я не очень много работал с темами, поэтому я не могу подтвердить, будет ли это определенно работать
- 1. Как программно изменить цвет кнопки - Android
- 2. Как изменить стиль div программно
- 3. Как изменить стиль TabPageIndicator программно
- 4. Изменить цвет кнопки программно
- 5. изменить стиль программно моего RelativeLayout
- 6. Magento: Программно изменить конфигурацию виджета
- 7. Изменить стиль программно ионную тост
- 8. Как изменить идентификатор виджета программно на студии Android
- 9. Как изменить стиль кнопки удаления?
- 10. Как изменить стиль кнопки floatingactionbutton?
- 11. Как изменить стиль кнопки андроида
- 12. Как изменить изображение предварительного просмотра виджета программно
- 13. Изменить стиль кнопки
- 14. Лучший способ программно изменить ширину/высоту виджета?
- 15. изменить интервал обновления виджета программно андроид
- 16. Изменить стиль кнопки iOS
- 17. Программно изменить ширину кнопки в android
- 18. Стиль кнопки Android
- 19. Изменить тему для кнопки программно
- 20. как программно изменить режим клавиатуры в android
- 21. Как программно изменить текст кнопки?
- 22. Как изменить фон кнопки программно?
- 23. Как изменить значок кнопки программно?
- 24. Как изменить вес кнопки программно
- 25. Android: Невозможно изменить цвет текста кнопки программно
- 26. Как стиль виджета WordPress?
- 27. Как изменить размер текста виджета кнопки?
- 28. Как изменить стиль от DatePicker и TimePicker программно в Android?
- 29. Как изменить цвет темы программно: стиль, атрибуты android?
- 30. как стиль переключатель виджета правильно
Я положил прописку как еще один пример, но, я думаю, мне не следовало бы с тех пор, как я не сделал правильного исследования в теме. Я специально пытался изменить углы. Я изучаю использование setLayoutParams (параметры ViewGroup.LayoutParams). Спасибо за вашу помощь! – kfeeney