小编tod*_*ler的帖子

选择器资源可以使用样式中定义的颜色吗?

我正在尝试使用选择器中stlyle中定义的颜色,但它导致了一个Resources $ NotFoundException.

首先,我向attr.xml添加了一个新属性:

<resources>
    <attr name="unread_background" format="color" />
</resources>
Run Code Online (Sandbox Code Playgroud)

然后我在styles.xml中定义了attr值:

<style name="ThemeNoTitleBar" parent="android:Theme.NoTitleBar">
    <item name="unread_background">#000000</item>
</style>
Run Code Online (Sandbox Code Playgroud)

然后我尝试在我的选择器定义中使用该attr:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- other states snipped -->
    <item android:state_selected="false"
        android:drawable="?unread_background" />
</selector>
Run Code Online (Sandbox Code Playgroud)

最后,活动在清单中使用ThemeNoTitleBar样式主题.

我也尝试在colors.xml中创建一个颜色并让它使用新的attr,但也失败了.

我显然错过了一些东西,但我不知道该怎么做才能修复它.我的目的是创建多个主题,并让选择器使用当前所选主题中的颜色.

android

16
推荐指数
1
解决办法
4511
查看次数

标签 统计

android ×1