做一个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>