1

我有一个 API 8+ 必须支持的应用程序。但我也喜欢让我的应用程序为(11+)的全息主题。我知道它不会被支持,因为 min sdk 是 8。所以唯一的解决方案是创建 2 个单独的应用程序,一个用于 8-11,一个用于 11+。有没有更好的方法来做到这一点?这样我就可以减少双重维护。

4

2 回答 2

15

无需创建两个单独的应用程序。您只需要为您的应用创建两个主题定义:

/res/values-v11 中的 styles.xml(仅在 API 11+ 上使用)

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

/res/values 中的样式.xml

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

然后,将其应用到 AndroidManifest.xml 中的应用程序:

<application
        ...
        android:theme="@style/app_theme"
        >
  ...
</application>

此设置使用资源限定符。你可以在这里阅读更多关于它们的信息。

于 2013-05-19T09:13:10.620 回答
4

您可以尝试使用HoloEverywhere 库在 Android 2.1+ 上使用 Holo 主题。它还与ActionBarSherlock很好地集成。

于 2013-05-19T09:17:43.090 回答