我有一个应用程序,使用AppCompat支持libary的ActionBars.现在我试图为此创建一个新的具有某种风格的themes.xml文件.
<!-- Application theme. --> <style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="android:actionBarStyle">@style/MyActionBar</item> <item name="actionBarStyle">@style/MyActionBar</item> </style>
所以就像在这里完成的一样:http://developer.android.com/guide/topics/ui/actionbar.html#StyleExample
然而,Eclipse在这里抛出一个错误,并说:
android:actionBarStyle requires API level 11 (current min is 8) themes.xml
我如何使用支持库?
解决方法
在res / values-14下的styles.xml中添加以下内容
<style name="Theme.Styled" parent="@style/Theme.AppCompat.Light"> <!-- Setting values in the android namespace affects API levels 14+ --> <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item> </style> <style name="Widget.Styled.ActionBar" parent="@style/Widget.AppCompat.Light.ActionBar"> <!-- Setting values in the android namespace affects API levels 14+ --> <item name="android:background">#FFFFFF</item> </style>
然后,您需要在values文件夹中添加以下内容:res / values / styles.xml
<style name="Theme.Styled" parent="@style/Theme.AppCompat.Light"> <!-- Setting values in the default namespace affects API levels 7-13 --> <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item> </style> <style name="Widget.Styled.ActionBar" parent="@style/Widget.AppCompat.Light.ActionBar"> <!-- Setting values in the default namespace affects API levels 7-13 --> <item name="background">#FFFFFF</item> </style>
更多细节
http://android-developers.blogspot.in/2013/08/actionbarcompat-and-io-2013-app-source.html
请注意API级别14的更改
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
到API级别7-13
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>