Мне нужно при нажатии на кнопку, менять ее цвет, но при этом моя кнопка имеет закругленные углы, то есть уже имеется файл xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="4dp" />
<solid android:color="@color/colorTitle" />
</shape>
Чтобы поменять цвет кнопки при нажатии необходим еще 1 xml файл, так как там присутствует root tag <selector>
, понятное дело, что можно сделать картинку с закругленными углами, но есть ли другой вариант? спасибо.
В файле стиля для кнопки Вы можете задать оформление виджета для различных состояний:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true">
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="4dp"/>
<solid android:color="@color/colorPrimary"/>
</shape>
</item>
<item>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="4dp"/>
<solid android:color="@color/colorAccent"/>
</shape>
</item>
</selector>
Здесь в pressed-состоянии кнопка будет иметь цвет @color/colorPrimary
, а в default-состоянии – @color/colorAccent
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
есть кнопка-выпадающий список,в ней есть строки,что прописать чтобы текст был по центру,а не слева? нашел вот такое,но не знаю как применить
Почему-то не создается таблицаПрописал мэппинг, указал его в hibernate
Есть три метода, которые отличаются буквально в пару строчекМожно как-то избежать дублирования кода?