Android: Как сделать Drawable селектор

Я чувствую, что это немного глупый вопрос, но здесь я иду в любом случае. У меня есть кнопка изображения, и я хочу иметь возможность изменять ее изображение каждый раз, когда она нажата. API, похоже, говорит, что лучший способ сделать это-создать xml-ресурс в папке drawable, которая содержит селектор и значения. Однако, когда я иду, чтобы сделать новый ресурс Android xml, нет возможности для drawables. Что я упускаю?

2 ответов


насколько я знаю, редактор XML Android не позволяет создавать XML-чертежи. Вы должны перейти на вкладку источник (помечено: filename.xml) и вставить в текст вручную. Это должно выглядеть так:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" 
        android:drawable="@drawable/cell_top_selected" />
    <item android:drawable="@drawable/cell_top" />
</selector>

вы можете попробовать это также как селектор

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- pressed -->
    <item android:drawable="@drawable/button_1_selected" android:state_pressed="true"/>
    <!-- focused -->
    <item android:drawable="@drawable/button_1_normal" android:state_focused="true"/>
    <!-- default -->
    <item android:drawable="@drawable/button_1_normal"/>

</selector>