Мне нужно при нажатии на кнопку, менять ее цвет, но при этом моя кнопка имеет закругленные углы, то есть уже имеется файл 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.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости