【问题标题】:Android AppCompat requires API level 11Android AppCompat 需要 API 级别 11
【发布时间】:2013-11-17 14:56:51
【问题描述】:

我有一个使用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

我在使用支持库时怎么会这样?

【问题讨论】:

  • 检查我的帖子并试一试,注意更改,看看它是否有效
  • 遗憾的是 Android 开发者文档是错误的。浪费很多时间。
  • +1,说真的,Android 至少不能让 教程 正确吗?

标签: android android-appcompat


【解决方案1】:

styles.xml下面的res/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>

然后您需要将以下内容添加到值文件夹中: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>

【讨论】:

  • 虽然我猜你的意思是链接中写的values-v14
  • @user2433059 res/values/styles.xml 和 res/values-14/styles.xml 中的样式就是我的意思
  • @user2433059 另见答案的第二部分。那是针对 api 7-13 的。 Action Bar 可用的是 11,因此您使用 api 级别 11 以下的 app compact 支持库
  • 对于red/values-v14,您会保留AppCompat,还是应该将其真正换成Holo
  • 谢谢!你是一个救生员!
猜你喜欢
  • 2013-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
  • 2021-12-27
相关资源
最近更新 更多