2011-10-28 11 views
2

SharedPreferencesに保存されたウィジェットの色テーマを設定する最適な方法は何ですか?ユーザーは好みの色のテーマを選択し、プログラム的にテーマを設定します。私は次のエラーが表示され、この場合には複数の色テーマを持つAndroidウィジェット

<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> 

は、例えば、私はIDが「widgetThemeDate」とのTextViewのための2つのスタイルを持っている "エラー:の、textColor:リソースエントリwidgetThemeDateが既にバッグアイテムアンドロイドを持っています。 "

" widgetThemeDate "の色は、ユーザーの選択に応じてどのように設定できますか?

答えて

1

プログラムでビュー全体にテーマを設定することはできませんが(this discussionを参照)、一部の側面をプログラム的に変更することはできます。例えば。あなたは、メソッドを使用して、TextViewのテキストをプログラムで変更することができます。

+0

styles.xmlで色を定義し、それらをプログラム的に切り替えてウィジェットの色を設定したいとします。テーマについては忘れてください。今は色を変えて切り替えているだけです。どのようにそれを行うための最善の方法です。 – bogdanmogo

+0

私は最良の方法は、異なるTextViews ID(例えば、android:id = "@ + id/widgetAMPMColorBlack")で複数のwidget.xmlファイル(例えばwidget_black.xmlやwidget_white.xml)を宣言し、スタイルに異なるスタイルを設定することだと思います。 xml。 – bogdanmogo

+0

ああ、ちょうどそれをしてください。 –

関連する問題