2013-07-04 3 views
0

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

Мой вопрос: если вы не определяете, что дополнительные Drawables, можно ли выделить кнопку с Android.Holo по умолчанию (синий)?Настройка темы на кнопку с пользовательским drawable

ответ

0

Вы можете использовать селекторы (список состояний), которые затем присваиваются представлению в макете, которые изменяют поведение представления во время разных событий.

Так селектор (назовём его 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 
/> 

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

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

+0

Спасибо за помощь, но это не ответ на мой вопрос. Я хотел бы знать, можно ли достичь только с одним выталкиваемым – Marek

+0

. Вы хотите, чтобы ваша кнопка была выделена цветом при нажатии, нет? – Hrafn

+0

Да, но я хочу использовать свой пользовательский Drawable в качестве фона (и я не хочу создавать другие возможности для сфокусированного состояния, также потому, что я не знаю точных значений цвета и прозрачности для темы Holo) – Marek

Смежные вопросы