具有向后兼容性的Android Holo主题

San*_*ath 5 android backwards-compatibility

我已经建立了支持的Android应用程序android:minSdkVersion="7" android:targetSdkVersion="15".我使用继承Android默认主题的自定义主题.

所以现在我想将整个应用程序主题改为Holo主题.任何人都可以帮助我.

Ban*_*ane 10

您可以使用不同的样式XML来实现"样式选择器".

只需定义名为"StyleSelector"的主题或类似的主题/res/**values**/styles.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="ThemeSelector" parent="@android:style/Theme.Black">
    ... Your theme definitions
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

然后创建一个/res/**values-v11**/styles.xml:

<resources>
    <style name="ThemeSelector" parent="@android:style/Theme.Holo">
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

现在只需将您的主题应用于" @style/ThemeSelector",让Android发挥神奇作用.在较旧的Android版本上,您的主题定义将被加载,在具有Holo-Support的较新版本中,您的主题将来自Holo.


Dir*_*kel 1

只需修改AndroidManifest.xml中的应用程序标签,使其包含主题:

android:theme="@style/Theme.Holo"
Run Code Online (Sandbox Code Playgroud)

例如这样:

<application android:icon="@drawable/ic_launcher"
             android:label="@string/app_name"
             android:theme="@style/Theme.Holo">
Run Code Online (Sandbox Code Playgroud)

或者您可以在每个活动的基础上执行此操作。这是相关文档: https://developer.android.com/guide/topics/ui/themes.html