21

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

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

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

在以前的版本中使用时,如何让我的应用使用另一个主题?

提前致谢

4

1 回答 1

32

编辑:更新了 3.0 SDK 的发布版本。


一种方法是设置<uses-sdk android:targetSdkVersion="11">. 你也应该把它放在你的<application>定义之上。如果可用,这将告诉系统使用全息主题,否则使用默认主题。

另一种方法是定义一个主题,例如MyTheme,根据 API 级别/操作系统版本从不同的主题继承。您可以使用资源目录限定符来做到这一点。

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

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 级别有意义,因此您可能需要稍后调整此方法。您还可以使用其他目录限定符,例如values-large-v11或类似。这完全取决于你。

于 2011-02-01T17:41:08.433 回答