如果我有一个名为color_list_1的颜色列表,如下所示:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:color="#FF0000"/>
<item android:color="#00FF00"/>
</selector>
我希望能够创建另一个名为color_list_2的颜色列表:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#0000FF"/>
<item android:color="@color/color_list_1"/>
</selector>
这允许我做的是有一个控件Foo,它使用color_list_1作为颜色。现在我可能想要创建一个名为AmazingFoo的子类,我希望保持与Foo相同的外观,除了我还想为它添加一个按下的颜色。
我试过这个但是当使用color_list_2作为颜色时,在color_list_1中会忽略状态。这意味着按下的状态有效(因为它直接位于color_list_2中),但当它回退到color_list_1时,聚焦状态始终为false,因此返回默认颜色。
我知道这不是控件的问题,因为使用color_list_1可以很好地工作。只有当我将其级联到另一个颜色列表中时,所有状态才会返回false。