根据android版本更改主题

时间:2011-02-01 17:16:44

标签: android android-3.0-honeycomb

我准备我的应用程序与蜂窝状态顺利工作。关于android主题,我有一个小美学问题。

对于蜂窝状,建议使用以下主题。

android:theme="@android:style/Theme.Holo.Light" 

如果我的应用在以前的版本中使用时如何使用其他主题?

提前致谢

1 个答案:

答案 0 :(得分:32)

编辑:已针对3.0 SDK的已发布版本进行了更新。


执行此操作的一种方法是设置<uses-sdk android:targetSdkVersion="11">。您还应该将其置于<application>定义之上。这将告诉系统使用全息主题(如果可用),否则使用默认主题。

另一种方法是定义一个主题,比如MyTheme,它根据API级别/操作系统版本从不同的主题继承。您可以使用resource directory qualifiers

执行此操作

您的目录结构可能如下所示:

res/
  values/
    styles.xml
  values-v11/
    styles.xml

res/values/styles.xml的内容如下:

<resources>
  <style name="MyTheme" parent="@android:style/Theme.Light">
    ...
  </style>
</resources>

res/values-v11/styles.xml的内容如下:

<resources>
  <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
    ...
  </style>
</resources>

请注意,将来,Holo主题可能并不总是有意义的API级别,因此您可能需要稍后调整此方法。您还可以使用其他目录限定符,例如{{ 1}}等。这完全取决于你。