Android AppCompat需要API级别11

ben*_*tar 10 android android-appcompat

我有一个使用AppCompat支持库的应用程序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>
Run Code Online (Sandbox Code Playgroud)

所以就像在这里完成的那样:http://developer.android.com/guide/topics/ui/actionbar.html#StyleExample 然而,Eclipse在这里抛出一个错误并说:

android:actionBarStyle requires API level 11 (current min is 8) themes.xml
Run Code Online (Sandbox Code Playgroud)

这怎么可能像我使用支持库一样?

Rag*_*dan 13

在下方添加的styles.xmlres/values-14

<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>
Run Code Online (Sandbox Code Playgroud)

然后,您需要将以下内容添加到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>
Run Code Online (Sandbox Code Playgroud)

更多细节

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>
Run Code Online (Sandbox Code Playgroud)

到API级别7-13

 <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
Run Code Online (Sandbox Code Playgroud)