我有一个应用程序使用AppCompat
支持库进行ActionBars
。现在我尝试创建一个具有某种样式的新主题.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>