2011-10-28 2 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"와 텍스트 뷰에 대한 두 가지 스타일이 "오류 : 텍스트 색상 : 자원 항목 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

오, 알았어. 그때 그냥 해. –