不同的Android SDK版本的不同的主题

有没有办法使用不同的主题,取决于应用程序安装在哪个SDK版本上?

我问的原因是因为我想回到SDK版本8,但是对于那些有ICS的用户,我希望能够遵循ICS的devise标准并使用Holo主题。

我可以从程序中看到不同的版本在android中的不同版本 ,我可以有一个文件夹values-v14将有一个theme.xml重写主题声明。 但是,如果我参考Theme.Holo,它将不会编译。 我相信这是因为我在AndroidManifest.xml中有以下内容

<uses-sdk android:minSdkVersion="8" /> <uses-sdk android:targetSdkVersion="11"/> 

任何指针将不胜感激。

更新: – 好的,这里是我的文件: – AndroidManifest.xml:

 <application android:icon="@drawable/icon" android:label="@string/app_name" android:name=".Refunder" android:theme="@style/MainTheme" > 

RES /值/的themes.xml:

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="MainTheme" parent="@android:style/Theme.Light.NoTitleBar"> <item name="android:typeface">normal</item> <item name="android:textSize">15sp</item> </style> </resources> 

RES /值-V11 /的themes.xml:

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="MainTheme" parent="@android:style/Theme.Holo"> <item name="android:typeface">normal</item> <item name="android:textSize">15sp</item> </style> </resources> 

这是根据我在这里阅读的文章: – http://android-developers.blogspot.com/2012/01/holo-everywhere.html

当我这样做,我得到一个编译错误在Eclipse中说:

 error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Theme.Holo' 

Solutions Collecting From Web of "不同的Android SDK版本的不同的主题"

你在做什么(用你的values-v14文件夹)是正确的。 你只需要改变你的构build目标,让它编译。 (右键点击你的项目,select属性,selectAndroid,selectAndroid 14或以上)

确保不要使用比android:minSdkVersion更高的function,因为如果在早期版本的Android上使用,会导致强制closures。