Установка темы для кнопки с настраиваемым рисунком

У меня есть приложение, в котором я использую пользовательские рисунки в качестве фона кнопки. Тем не менее, я не создавал отдельные рисованные элементы для статуса сфокусированного, выбранного и т. Д.

Мой вопрос: если без определения этих дополнительных 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
/>

И это должно быть так. Вы можете прочитать о селекторах / списках состояний здесь.

Надеюсь это поможет.

Другие вопросы по тегам