Установка темы для кнопки с настраиваемым рисунком
У меня есть приложение, в котором я использую пользовательские рисунки в качестве фона кнопки. Тем не менее, я не создавал отдельные рисованные элементы для статуса сфокусированного, выбранного и т. Д.
Мой вопрос: если без определения этих дополнительных Drawables, можно ли выделить кнопку со стандартным Android.Holo Цвет (синий)?
1 ответ
Вы можете использовать селекторы (список состояний), которые затем присваиваются представлению в макете, которые изменяют поведение представления во время различных событий.
Таким образом, селектор (давайте назовем его myselector) может выглядеть так:
<?xml version="1.0" enconding "utf-8">
<selector xmlns:android="http://schemas.android.com/apk/res/android"
//When the view gets pressed the drawable gets set.
//You could also use android:color
<item android:state_pressed="true"
android:drawable="<Your drawable>"
<item android:state_focused="true"
android:drawable="<Another drawable>">
</selector>
Затем вы устанавливаете селектор для вашей кнопки внутри макета (или в коде, если хотите):
<Button
android:id="@+id/mybutton"
android:text="Click me!"
android:background="@drawable/myselector" //Here the selector is set
/>
И это должно быть так. Вы можете прочитать о селекторах / списках состояний здесь.
Надеюсь это поможет.