Android: How to Make A Drawable Selector

2019-01-09 12:09发布

I feel like this is kind of a silly question, but here I go anyways. I have an image button, and I want to be able to change it's image everytime it is clicked. The API seems to say that the best way to go about doing this is to create xml resource in the drawable folder that contains a selector and values. However when I go to make a new android xml resource, there's no option for drawables. What am I missing?

2条回答
兄弟一词,经得起流年.
2楼-- · 2019-01-09 12:33

As far as I know, the Android XML editor doesn't allow you to create XML drawables. You have to go to the source tab (labeled: filename.xml) and paste in the text manually. It should look like:

<?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>
查看更多
时光不老,我们不散
3楼-- · 2019-01-09 12:36

You can try this also as a 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>
查看更多
登录 后发表回答