Android:如何制作一个可绘制选择器

36

我觉得这是一个有点儿愚蠢的问题,但还是问一下。我有一个图像按钮,我想每次点击它时都能够更改它的图像。API似乎说最好的方法是在drawable文件夹中创建一个包含选择器和值的xml资源。然而,当我尝试新建android xml资源时,没有关于drawable的选项。我错过了什么?


你可以在这里查看解决方案点击 - Geet Thakur
2个回答

58

你可以在Android Studio中添加这个,使用右键点击项目结构 -> 新建 ->Drawable资源文件。它应该像这样:

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

选择器(颜色/可绘制)是否应始终具有默认值?如果匹配所有可能的情况,也可以是正常的,对吗?如果没有完全匹配会发生什么?应用程序会崩溃吗? - android developer

38
您也可以将其作为选择器尝试。
<?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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接