Страницы

Поиск по вопросам

понедельник, 15 июля 2019 г.

Как задать цвет для кнопки с сохранением ripple-эффекта?

Использую в своем приложении (minSdk 9) кнопки AppCompatButton. Кнопки в моем приложении бывают разных цветов и могут становиться неактивными (setEnabled(false)).
Хочу сделать их плоскими и с ripple-анимацией, согласно материал-дизайну. Но не могу задать им цвет. Либо теряется ripple-эффект, либо они перестают становиться серыми в неактивном состоянии.
Как задать цвет кнопке, чтобы сохранился ripple-эффект, а в неактивном состоянии были серыми?
В данный момент есть это:


Кнопки меняют цвет, текст белый, но нет ripple-эффекта и в неактивном состоянии цвет остается зеленым.


Ответ

Получилось реализовать так. Проверял на версиях ОС от 2.3.3 до 6.0.1, работает (разумеется ripple-эффект только от 5).
Разметка:

styles.xml:

button_background_selector.xml:

button_text_selector.xml:

Комментариев нет:

Отправить комментарий