У меня есть button.xml и мне нужно в нем закруглить кнопку и одновременно с этим менять цвета при нажатии. Вот код:
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/button_pressed_color" android:state_pressed="true" />
<item android:drawable="@color/menu_color" android:state_focused="true" />
<item android:drawable="@color/button_color" />
<item>
<shape>
<corners
android:bottomLeftRadius="10dp"
android:bottomRightRadius="10dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp" />
</shape>
</item>
</selector>
Однако оно не работает. Если убрать закругление или обработку нажатия, то все нормально, но вместе нет. Как реализовать эту функцию?
Всё делается довольно просто, и я посоветую поступить именно так, ибо так намного удобнее:
Укажите стиль для своей кнопки:
Создайте свой стиль в ../res/values/styles.xml:
Теперь далее, ../res/drawable/button_main.xml:
И уже в этих файлах проводите настройку, как будет выглядеть кнопка в обычном состоянии, при нажатии и так далее, например button_main_shape.xml:
Здесь уже указываете все необходимые параметры. Таким образом, вы можете сделать так, чтобы при нажатии и в обычном состоянии кнопки выглядели абсолютно по-разному.
Могу посоветовать этот и этот сервисы, с помощью которых удобно и наглядно можно создать нужный вам shape.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости