我有一个必须从API 8+支持的应用程序。但我也想让我的应用程序成为(11+)的全息主题。我知道它不会被支持,因为min sdk是8.所以唯一的解决方案是创建2个独立的应用程序,一个用于8-11,一个用于11+。有没有更好的方法来做到这一点?这样我就可以减少双重维护。
答案 0 :(得分:15)
无需创建两个单独的应用程序。您只需要为您的应用创建两个主题定义:
/ res / values-v11中的styles.xml(仅在API 11 +上使用)
<resources>
<style name="app_theme" parent="android:Theme.Holo.Light"/>
</resources>
/ res / values 中的styles.xml
<resources>
<style name="app_theme" parent="android:Theme.Light"/>
</resources>
然后,将其应用于AndroidManifest.xml中的应用程序:
<application
...
android:theme="@style/app_theme"
>
...
</application>
此设置使用资源限定符。您可以阅读有关他们的更多信息here。
答案 1 :(得分:4)
您可以尝试HoloEverywhere library在Android 2.1+上使用Holo主题。它还与ActionBarSherlock很好地整合。