在我的Android应用程序中,我们需要支持从Gingerbread到Jelly Bean的所有内容。在我的样式表中,我需要有两个版本的某些字段,例如:
<item name="popupMenuStyle">@style/PopupMenu.MyTheme</item>
<item name="android:popupMenuStyle">@style/PopupMenu.MyTheme</item>
问题是,如果minSdkVersion为8,则字段的“android:”版本不会编译,但如果没有它们,则样式不会在后面的OS中应用。
我是否需要在XML文件中检查一个开关?
答案 0 :(得分:0)
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
针对targetSdkVersion(api 17)
编译代码,它将解决问题。
<强>更新强>
您可以在/res
中创建文件夹,例如values
,values-v11
,values-v14
,您可以在其中添加与不同API级别相关的主题。在设备上&lt; API 11,主题将从&#39;值&#39;中选择,同样,设置api 11或更高版本的设备将获得来自&#39; values-v11&#39;的主题。等