【发布时间】:2014-12-25 13:17:05
【问题描述】:
我正在尝试学习如何在 Android 中进行开发,我正在学习本教程:https://developer.android.com/training/basics/actionbar/styling.html
现在,我正在尝试将操作栏的背景设置为橙色。 本教程提供了以下代码(请注意,我正在使用 Android 2.1 兼容性进行开发,因此我使用的是 AppCompat 等)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item> <!-- error here -->
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/actionbar_background</item>
<!-- Support library compatibility -->
<item name="background">@drawable/actionbar_background</item>
</style>
</resources>
我的 actionbar_background.xml 文件在哪里:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#FFA500" />
</shape>
我的问题是我收到以下错误:android:actionBarStyle requires API level 11 (current min is 8) 在我添加评论 <!-- error here --> 的行中。
我找到的解决方案是删除该行。也因为它看起来与下面的行正在做的事情完全相同(除了没有明确说明“android:”命名空间)。现在似乎一切正常...
我想知道这是否是教程代码中的错误(即我删除该行是正确的)或者我是否有其他类型的问题......有什么想法吗?谢谢!
编辑
以下帖子解决了同样的问题:Android AppCompat requires API level 11。
看来这确实是教程本身的错误。不过,我仍然不清楚,为什么问题发生在 android 命名空间(应该特别关注 API>14)而不是 默认一个(应该解决任何其他 API)。
【问题讨论】:
标签: android android-layout android-actionbar android-actionbar-compat