主题,样式还是硬编码?

时间:2014-07-22 06:53:49

标签: android android-theme android-styles

我有一个7活动的应用程序。所有活动在root元素中都有1,2,3或4 main root个元素。此root元素具有深色背景颜色和相关颜色。我想在我的应用程序中有一个轻量级主题。因此,我想知道哪种方式更好,更专业,将我的应用主题从黑暗变为光明?

  • 使用每个`root`元素的颜色值定义两个主题?如果答案是肯定的,我该如何定义?示例代码?
  • 为每个`root`元素定义样式?
  • 或者只是找到我的1,2,3或4个`root`元素并使用Options菜单设置UI更改背景颜色?


感谢

1 个答案:

答案 0 :(得分:1)

主题也是样式,如果您想要从Holo.light驱动整个应用程序,您可以简单地定义下面的样式并更改预定义元素的所需颜色和样式,然后在Manifest中设置您的应用主题:< / p>

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

但是如果你想为你的活动设置一个背景颜色并在运行时或通过点击menuItem来改变它,我认为更好的方法是为你的根元素定义两个样式(活动布局中的大多数外部元素)并为这些元素定义背景喜欢:

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

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