2011-10-28 24 views
2

什么是最佳方法来设置保存在SharedPreferences上的小部件颜色主题。用户选择他们喜欢的颜色主题并以编程方式设置主题。具有多种颜色主题的Android小部件

比如我有一个ID为“widgetThemeDate”一个TextView两种风格:

<style name="widgetThemeDate" parent="@style/widgetThemeLight"> 
     <item name="android:textColor">@color/colorWhite</item>  
</style> 

<style name="widgetThemeDate" parent="@style/widgetThemeDark"> 
     <item name="android:textColor">@color/colorBlack</item>  
</style> 

在这种情况下,我收到以下错误:“错误:资源进入widgetThemeDate已经有袋物品机器人:文字颜色。

如何根据用户的选择设置”widgetThemeDate“颜色?

回答

1

您无法以编程方式在视图上设置整个主题(请参阅this discussion),但您可以主动更改某些方面。例如。您可以使用setTextColor()方法在ay TextView上以编程方式更改文本的颜色。

+0

我想定义styles.xml上的颜色并以编程方式切换它们以设置小部件颜色。忘记主题;现在我的意思只是颜色和切换它们。如何做到这一点的最佳方式。 – bogdanmogo

+0

我认为最好的方法是用不同的TextViews ID(例如android:id =“@ + id/widgetAMPolorClack”)声明多个widget.xml文件(例如widget_black.xml或widget_white.xml),并在样式中设置不同的样式。 xml。 – bogdanmogo

+0

噢,好的,就这么做。 –