2014-07-22 59 views
4

我有一個應用程序與7個活動。所有活動在main root元素中都有1,2,3或4個root元素。此root元素具有相關顏色的深色背景色。我想在我的應用程序中有一個輕量級的主題。因此,我想知道哪種方式更好,更專業,可以將我的應用主題從黑暗變爲光明?
主題,風格或硬編碼?

  • 定義兩個主題,我的顏色值爲每個`root`元素?如果答案是肯定的,我該如何定義它?示例代碼?
  • 爲每個`root`元素定義樣式?
  • 或者只需找到我的1,2,3或4個``root`元素並使用Options菜單設置UI更改背景顏色?


感謝

回答

1

主題是風格也因此,如果你想你的整個應用程序從例如驅動Holo.light你可以簡單地定義一個樣式像下面,改變你想要的顏色和樣式預定義的元素,然後設置在體現你的應用主題:

<style name="MyTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="progressBarStyle">@android:style/Widget.ProgressBar.Inverse</item> 
    <item name="progressBarStyleSmall">@android:style/Widget.ProgressBar.Small.Inverse</item> 
    <item name="progressBarStyleLarge">@android:style/Widget.ProgressBar.Large.Inverse</item> 
</style> 

但如果你想設置背景顏色爲您的活動,並改變它在運行時或通過點擊菜單項,我認爲更好的方法是定義兩個樣式的根元素(在活動佈局最外層的元素),並定義背景像這些元素:

<style name="LinearLayoutLight"> 
    <item name="android:background">@color/#somecolor</item> 
</style> 

<style name="LinearLayoutDark"> 
    <item name="android:background">@color/#somecolor</item> 
</style> 
+0

@SamanMoradiZiarani:親愛的薩滿TY接受,你的第一個問題ü在style.xml定義風格,那麼在你的活動佈局使用: style元素中的style =「@ style/yourstyle」。用於在運行時在stackOverFlow中更改主題,您可以找到很好的答案。它的回答太寬泛,無法回答。 –

+0

@SamanMoradiZiarani:用背景物品創建另一種風格,然後將這種風格分配給這些元素。 –

+0

@SamanMoradiZiarani:你爲什麼重複接受一個unccepting的答案!!? –