Android: как сделать селектор рисования - PullRequest
25 голосов
/ 11 апреля 2011

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

Ответы [ 2 ]

36 голосов
/ 11 апреля 2011

Насколько я знаю, редактор 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>
29 голосов
/ 08 октября 2012

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

<?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>
...