我试图在选择器中使用样式中定义的颜色,但是这导致了 Resources$NotFoundException 异常。
首先我在 attr.xml 中添加了一个新属性:
<resources>
<attr name="unread_background" format="color" />
</resources>
然后我在styles.xml中定义了那个属性的值:
<style name="ThemeNoTitleBar" parent="android:Theme.NoTitleBar">
<item name="unread_background">#000000</item>
</style>
然后我尝试在选择器定义中使用该属性:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- other states snipped -->
<item android:state_selected="false"
android:drawable="?unread_background" />
</selector>
最后,在清单文件中,该活动使用ThemeNoTitleBar样式主题。
我还尝试在colors.xml中创建颜色并使用新的属性,但那也失败了。
很明显我漏掉了什么,但不确定如何解决。我的意图是创建多个主题,并且让选择器使用当前选定主题中的颜色。