如何给selector默认设置一个无背景

做一个selector,我的需求是点击按钮实现换颜色,由于每个按钮都共享一张大背景,如果要实现selector的效果,就要默认背景为无,press以后显示一个colordrawable,然而亲测在selector中直接这样设置,运行是要报错的:

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@drawable/color_c8d1e4" ></item>
<item android:drawable="@null" ></item>
</selector>

于是,想利用一个透明的colordrawable实现替代效果,但是亲测直接使用color标签设置aarrggbb,透明效果是无效的。

最终,我做了一个空的colordrawable,实现了需求效果:

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@drawable/color_c8d1e4" ></item>
<item android:drawable="@drawable/color_ffc8d1e4" ></item>
</selector>

目标colordrawable的代码如下:

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

</color>
原文地址:https://www.cnblogs.com/gangmiangongjue/p/4688991.html