2011-09-13 55 views
5

我希望能夠聲明一些主題,以輕鬆更改我的應用程序的外觀和感覺。所以我得到你可以定義一個從android:Theme繼承的樣式,然後在其中定義屬性。主題:主題相關drawable?

但兩個問題:

  1. 如果我想有,比方說,在應用程序內不同意見不止一個背景顏色?這樣我就可以擁有整個活動的背景和活動中文本視圖的不同背景以及按鈕等的另一個背景。但是,這些(不同的)顏色主題是否依賴?
  2. 是否可以定義一組取決於使用中的主題的drawables。我的意思是,以類似的方式來說明如何爲不同的屏幕密度定義不同的繪圖。理想情況下,我會爲不同的主題使用不同顏色的圖像。這個行爲可以在android中定義嗎?

感謝您的幫助, 詹姆斯

+0

所有您需要的信息在http://developer.android.com – Merlin

回答

3

你可以只定義不同的風格爲每個插件類型所需的不同顏色或圖形內容,並指那些在不同的主題。例如:

<!-- themes --> 

<style name="MyTheme" parent="android:style/Theme.Light"> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowBackground">@drawable/something</item> 
    <item name="android:buttonStyle">@style/MyButton</item> 
</style> 

<style name="MyTheme.Red"> 
    <item name="android:buttonStyle">@style/MyButton.Red</item> 
</style> 

<style name="MyTheme.Blue"> 
    <item name="android:buttonStyle">@style/MyButton.Blue</item> 
</style> 

<!-- styles --> 

<style name="MyButton" parent="android:style/Widget.Button"> 
    <item name="android:background">@drawable/btn_mydefault</item> 
</style> 

<style name="MyButton.Red"> 
    <item name="android:background">@drawable/btn_red</item> 
</style> 

<style name="MyButton.Blue"> 
    <item name="android:background">@drawable/btn_blue</item> 
</style> 
+0

謝謝。我通過在attr文件中定義自定義屬性來補充這一點。 –

+0

感謝您的「android:windowBackground」指令,我一直在尋找這個。使用android:background會將背景可繪製應用於所有不是我想要的小部件。 – Yenchi