如何在Android中针对不同级别的API动态更改主题

时间:2014-04-03 05:42:47

标签: android datepicker

在应用程序中我设置了android:minSdkVersion="8"android:targetSdkVersion="19"现在我想根据Android版本更改应用程序的主题。如果api级别为8,那么Datepicker应出现

API Level 8 Datepicker

如果等级高于11 Datepicker应出现

enter image description here

3 个答案:

答案 0 :(得分:2)

试试这个家伙:)

int currentapiVersion = android.os.Build.VERSION.SDK_INT;
            System.out.println("mdpi current version is =="+ currentapiVersion); 

    if (  currentapiVersion < 11)
        {

         // your condition code for date picker 
    }

    else
    {
      // your condition code for date picker 
    }

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

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>

答案 1 :(得分:1)

创建您自己的主题,并根据API级别扩展不同的主题,例如,如果您将主题放在文件夹values-v11中,它将适用于api级别11及更高级别。我希望我能说清楚

答案 2 :(得分:1)

根据您的api需要使用不同的值文件夹。使用values-v11文件夹将api级别11以上的主题更改为:

<style name="AppBaseTheme" parent="android:Theme.Holo">
        <!-- API 11 theme customizations can go here. -->
    </style>

将此style.xml放在values-v11文件夹中。