2012-12-29 111 views
0

我試圖實現一個功能,讓用戶更改主題。Android將自定義屬性添加到樣式

我已經這樣做了,但根據主題是淺色還是黑暗,我需要使用相反的顏色在畫布上繪製線條。我認爲最好的方法是在繪製時簡單調用R.style.colorAttribute以獲得正確的顏色。

在styles.xml我已經定義了以下主題:

<style name="DarkTheme" parent="android:Theme.Holo" /> 

<style name="LightTheme" parent="android:Theme.Holo.Light" /> 

任何人都可以在這裏添加屬性將存儲色彩的最佳方式幫助。我之前沒有這樣做過,不確定是否應該使用color.xml文件或styles.xml文件。

感謝

而只是爲了說清楚

我對黑暗的主題,我需要一個白色 和光他們,我需要相同的屬性,但爲黑色。

+0

你爲什麼不使用逆顏色屬性? –

回答

0

如果你喜歡一個主題,但想調整它,只需添加主題作爲你的自定義主題的父母。例如,您可以修改傳統光源主題中使用自己喜歡的顏色是這樣的:

<color name="custom_theme_color">#b0b0ff</color> 
<style name="CustomTheme" parent="android:Theme.Light"> 
    <item name="android:windowBackground">@color/custom_theme_color</item> 
    <item name="android:colorBackground">@color/custom_theme_color</item> 
</style> 

More about styles on developer.android.com.

+0

是的,但不是使用諸如'android:windowBackground'之類的android屬性,我不能定義自己的顏色來保存顏色。 我不想改變任何屬性,我只需要調用相同的屬性,無論是明亮還是黑暗的主題。 這不是一個很大的問題,我可以在代碼中使用if語句來檢查使用哪種顏色,我認爲這樣做會很好。 – user1424720