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

Posted

技术标签:

【中文标题】Android:如何制作一个可绘制的选择器【英文标题】:Android: How to Make A Drawable Selector 【发布时间】:2011-08-03 05:38:34 【问题描述】:

我觉得这是一个愚蠢的问题,但无论如何我都去了。我有一个图像按钮,我希望能够在每次单击它时更改它的图像。 API似乎说最好的方法是在包含选择器和值的可绘制文件夹中创建xml资源。但是,当我去制作一个新的 android xml 资源时,没有可绘制的选项。我错过了什么?

【问题讨论】:

你可以在这里查看解决方案 click 【参考方案1】:

您可以在 Android Studio 中添加它,使用 Right click on project structure -> New -> Drawable resource file。它应该是这样的:

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

【讨论】:

【参考方案2】:

你也可以试试这个作为选择器

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

【讨论】:

以上是关于Android:如何制作一个可绘制的选择器的主要内容,如果未能解决你的问题,请参考以下文章

可在 MaterialButton android 上绘制的选择器

如何制作适合另一个视图的自定义 Android 字符串选择器?

Android 使用图层列表作为按钮选择器

创建自定义可绘制选择器?

以编程方式替换选择器图像

单击按钮时如何显示颜色选择器?