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