android:如何在主题中定义自定义颜色,drawables等?

时间:2012-05-11 03:29:01

标签: android

我希望我能解释一下我的追求。从本质上讲,我的用户要求我在我的应用程序中允许不同的外观,我希望我可以使用主题。

我希望我可以这样做:

<style name="NewTheme" parent="android:Theme.Dark">
  <item name="labelColor">#f90</item>
  <item name="buttonColor">#fff</item>
  <item name="buttonBg">@drawable/button</item>
</style>
<style name="OldTheme" parent="android:Theme.Dark">
  <item name="labelColor">#fa0</item>
  <item name="buttonColor">#88f</item>
  <item name="buttonBg">@drawable/button_old</item>
</style>

然后在styles.xml中引用这些值:

<style name="labelStyle">
  <item name="android:textColor>@labelColor</item>
</style>
<style name="buttonStyle">
  <item name="android:textcolor">@buttonColor</item>
  <item name="android:background">@buttonBg</item>
</style>

我知道这种语法错误,但可能是正确的语法?基本上,我想创建一组属性(颜色,背景,其他一些东西),并根据主题选择它们。

1 个答案:

答案 0 :(得分:2)

要在Android中使用主题和样式,您必须:

  1. 在themes.xml中定义一个或多个主题并设置其定义 你的风格。

  2. 在attrs.xml中定义自定义属性,即自定义样式。

  3. 描述styles.xml中自定义样式的值。

  4. 在您的布局文件中,为您的视图提供一个样式属性,该属性具有 自定义样式名称作为其值。

  5. 在两者中设置应用程序或活动的主题 AndroidManifest.xml或Activity的onCreate()。这是通过在调用setContentView()之前调用activity的onCreate()方法中的setTheme()来完成的。

  6. 要更改主题,您只需重新开始活动。

  7. enter image description here

    Iadvice你看看这个tutorial它处理程序员想要在android主题上工作的所有东西(文本颜色,文本格式,状态列表drawable等...)