小编Mar*_*max的帖子

在Android上使用带有样式,选择器和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>
Run Code Online (Sandbox Code Playgroud)

我的attrs.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <attr name="tabsTextColor" format="color" />
</resources>
Run Code Online (Sandbox Code Playgroud)

Colors.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- ... -->
    <color name="tabs_text_color">#ff0</color>
</resources>
Run Code Online (Sandbox Code Playgroud)

我的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>
Run Code Online (Sandbox Code Playgroud)

我不明白,因为文字颜色是红色的(用photoshop获得#f00)但不是#ff00!

哪里出错了?谢谢

编辑:我替换我的布局

android:textColor="@drawable/selector.xml"
Run Code Online (Sandbox Code Playgroud)

通过

android:textColor="?attr/tabsTextColor"
Run Code Online (Sandbox Code Playgroud)

而且颜色很好!我不能使用主题attr选择器?

android themes styles selector attr

2
推荐指数
1
解决办法
4088
查看次数

标签 统计

android ×1

attr ×1

selector ×1

styles ×1

themes ×1