Android 样式选择器?

Android 样式选择器?,android,android-layout,styles,Android,Android Layout,Styles,我有两种基于全息的ABS风格,紫色和淡黄色,用户可以通过设置设置主题 在我的布局中,我有一个带有自定义文本外观的文本视图,我想根据活动样式更改该文本外观 (如果紫色主题被激活,文本必须为白色,如果石灰主题被激活,文本必须为石灰) 有没有一种方法可以从XML实现这一点 编辑 如果标题有误导性,我很抱歉 (如果紫色主题被激活,文本必须为白色,如果 石灰主题已激活(文本必须为石灰) 试试看: <style name="PurpleTheme" parent="..."> <!

我有两种基于全息的ABS风格,紫色和淡黄色,用户可以通过设置设置主题

在我的布局中,我有一个带有自定义文本外观的文本视图,我想根据活动样式更改该文本外观

(如果紫色主题被激活,文本必须为白色,如果石灰主题被激活,文本必须为石灰)

有没有一种方法可以从XML实现这一点

编辑

如果标题有误导性,我很抱歉

(如果紫色主题被激活,文本必须为白色,如果 石灰主题已激活(文本必须为石灰)

试试看:

<style name="PurpleTheme" parent="...">
    <!-- define the style for the text appearance here. Following is an example -->
    <item name="android:textAppearance">@style/MyWhiteText</item>
</style>

<style name="LimeTheme" parent="...">
    <!-- define the style for the text appearance here. Following is an example -->
    <item name="android:textAppearance">@style/MyLimeText</item>
</style>

<style name="MyWhiteText" parent="@android:style/TextAppearance">
    <item name="android:textColor">@color/white</item>
</style>

<style name="MyWhiteText" parent="@android:style/TextAppearance">
    <item name="android:textColor">@color/lime</item>
</style>

@样式/MyWhiteText
@样式/MyLimeText
@颜色/白色
@颜色/石灰
或者,如果不想将颜色设置为所有文本视图,请执行以下操作:

声明一个属性:

<attr name="myTextViewColor" format="reference" />

在主题中这样使用它:

<style name="PurpleTheme" parent="...">
    <item name="myTextViewColor">@color/white</item>
</style>

<style name="LimeTheme" parent="...">
    <item name="myTextViewColor">@color/lime</item>
</style>

@颜色/白色
@颜色/石灰
现在,您可以如下设置特定文本视图的颜色:

<TextView 
android:textColor="?attr/myTextViewColor"
[...] />


你说的“主动式”是什么意思?@simon我已经更新了我的问题谢谢,但是attr解决方案不起作用,我得到以下信息:错误膨胀类