有两个主题:“浅色”和“深色”, 在每个主题中,有两种文本颜色:“启用”和“禁用”
现在的问题是,当我定义我的TextView时,我不想在那里调用“浅色”或“深色”,我希望只在应用程序级别指定主题并将其应用。基本上,我想要CSS选择器。我想能够像这样定义我的主题,
<style name="Light.enabled" .../>
<style name="Light.disabled" .../>
我的文本视图如下:
<TextView style="@style/.enabled" .../>
<TextView style="@style/.disabled" .../>
并且根据我在应用程序级别调用“light”或“dark”,使其应用“启用”或“禁用”。
这个页面, http://www.androidengineer.com/2010/06/using-themes-in-android-applications.html 显示了一个应用程序,
1. 定义一个样式,比如说“light.enabled” #000000
2. 定义一个属性引用,比如说“enabled”
3. 定义一个样式(主题)项,如 @style/light.enabled
4. 使用属性来定义视图中的样式
这就是我想要的,但对我不起作用。唯一的区别是我正在使用一个小部件。作者在活动上设置主题。我可以设置它的地方是Context.setTheme()和manifest中的“application”标签。似乎都没有什么区别。