android - 在 Android 上使用带有样式、选择器和属性的主题

标签 android styles themes selector attr

我尝试在选择器中更改带有主题的文本颜色,但我已经有了相同的颜色:#fff(我的 colors.xml 中没有这种颜色!)

这是我的 selector.xml(在 drawable/中):

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:color="@android:color/white" />
    <item android:state_focused="true" android:color="@android:color/white" />
    <item android:state_pressed="true" android:color="@android:color/white" />
    <item android:color="?attr/tabsTextColor" />
</selector>

我的 attrs.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <attr name="tabsTextColor" format="color" />
</resources>

颜色.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- ... -->
    <color name="tabs_text_color">#ff0</color>
</resources>

还有我的 theme.xml :

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme.Custom" parent="@style/Theme.GreenDroid.NoTitleBar">
        <item name="tabsTextColor">@color/tabs_text_color</item>
    </style>
</resources>

我不明白,因为文本颜色是红色(用 photoshop 得到 #f00)而不是 #ff00!

错在哪里?谢谢

编辑:我在我的布局中替换

android:textColor="@drawable/selector.xml"

通过

android:textColor="?attr/tabsTextColor"

颜色还不错!我不能将选择器与主题属性一起使用?

最佳答案

您不能在选择器中引用主题属性,但您可以创建多个选择器,每个选择器仅引用颜色/可绘制资源,然后使用引用属性来控制在您的主题中使用哪个选择器

关于android - 在 Android 上使用带有样式、选择器和属性的主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9532347/

相关文章:

android - Android 浏览器是否能够执行 xsl 转换?

java - 此类上获取线程已启动错误?

html - 如何将表格的文本链接右端与 td 元素对齐

css - 样式选择选项以显示所有并显示为链接?

Android - 如何使用默认的 Theme.Light 显示 Action Bar

android - 如何更改android Material 主题?

android - 哪些 Android 版本支持 SPP 类 0x00?

java - android:installLocation ="preferExternal"和 WRITE_EXTERNAL_STORAGE 权限

android - 如何为自定义 View 设置主题?