Стили кнопок..
Ребят, выручайте, уже неделю по вечерам читаю, тестиру нифига не работает, помогите!!
Хочу сделать возможность смены темы в приложении, со сменой темы пытаюсь поменять цвет кнопок и тут у меня полный ступор, и не догоняю в чем проблема. Лаунчер-активити основан на AppCompatActivity Вот описаны мои стили: ВОт так выглядят шейпы на кнопки: Вот мой layout: При смене темы - меняются цвета TitleBar'a, Текстов, Надписей на кнопках, а сми кнопки как были серыми так и остались... |
Ответ: Стили кнопок..
Заметил что при смене у Активити "extends AppCompatActivity" на просто "extends Activity" у кнопок цвета начинают меняться, но смотрится старовато и многие сис. аттрибуты не работают типа PrimaryColor и т.д.
|
Ответ: Стили кнопок..
Вот тут ребята говорят, что если тема была установлена после вызова super.onCreate у активити, то нужно либо перезапустить активити, либо вызвать метод recreate() после setTheme().
И предупреждают, что если у тебя несколько активити, то для получения эффекта нужно перезапустить их все. |
Ответ: Стили кнопок..
Я так и делаю, пересоздаю активити после смены темы.
Я ж говорю, у меня цвет текста меняется, т.е. тема работает. Но сами кнопки не хотят менять стиль. Я походу неправильного парента в стиле выбираю или нетуда присваиваю. Хотя сколько примеров находил также писали: <item name="android:buttonStyle">@style/MyButtonStyle</item> Может у кого-нибудь пример есть со стилями кнопок AppCompat? |
Ответ: Стили кнопок..
Я нашёл ответ: проблема в атрибуте android:buttonStyle.
Цитата:
|
Ответ: Стили кнопок..
Спасибо Женя!
Разобрался кое-как, нашел случайно простой ответ на стеке Просто надо было использовать не аттрибут style, а аттрибут theme Код:
<Button Код:
<style name="MyButtonTheme" parent="Widget.AppCompat.Button"> Да и вообще принцип понятен стал: Если выбираешь аттрибут, недоступный на твоем API, например android:backgroundTint. ИДЕ ругается на тебя что этот аттрибут доступен с 21+ API - просто стираем "android:" получаем "backgoundTint". IDE теперь ругаться не будет и отработает AppCompat и будет счастие. А еще я теперь понял что надо работать либо Только со стилями, либо Только с темами, а иначе перемешаете все и будете долго и упорно гуглить как я ) |
Часовой пояс GMT +4, время: 16:18. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot