当使用ActionBarSherlock
将XML格式的:
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
我得到这个错误:
android:actionBarStyle requires API level 11 (current min is 8) error
我使用它移植回我的动作条的应用程序,以2.2的设备。
如何一起使用这两个:
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
你必须只使用:
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
因为你可以得到的错误,你android:actionBarStyle
提供API级别11。
如果你希望能够风格你ActionBar
看起来相同的所有API级别,你需要为所选择的API级别创建不同的文件夹,并创建新的style.xml
/ themes.xml
这些文件夹中的文件。
例如:
- res
-- values
-- styles.xml
-- themes.xml // API LEVEL 8+
-- values-v11
-- styles.xml
-- themes.xml // API LEVEL 11+
-- values-v14
-- styles.xml
-- themes.xml // API LEVEL 14+
这是我能想到的第二件事情是要注意哪些主题是你,包括在不同的API级别当前的一个。
例如,对于API级别8:您将使用@style/Theme.Sherlock.Light.DarkActionBar
,你将不得不使用仅actionBarStyle
。 虽然造型的API级别14+的操作栏,你将不再需要actionBarStyle
,因为你可能会设置Holo.Light
主题为家长对于您目前的一个,所以在这种情况下,你将不得不使用android:actionBarStyle
。
另一种选择是使用tools:targetApi
属性,这就需要tools
的命名空间。 这起以类似的方式向@TargetApi
你可以在Java文件中使用的注释。
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="MyThemes.MyTheme">
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="android:actionBarStyle" tools:targetApi="11">@style/Widget.Styled.ActionBar</item>
</style>
</resources>
注意xmlns:tools="http://schemas.android.com/tools"
在<resources>
标记,因为它是必需的。
您只需选择你的关键“删除”在Eclipse中的错误,并按。 然后,只需运行该项目,它会工作。
你必须删除论文错误每次修改XML。
这取决于你想要什么样的目标SDK版本:
目标图谋低于11:
在你的AndroidManifest.xml
使用:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="x" android:maxSdkVersion="10"/>
X 8-10之间的任何东西(取决于您的代码)
在你的风格的使用:
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
针对任何设备:
在你的AndroidManifest.xml
使用:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" />
16在用于ActionBarSherlock
例如可以是任何大于或等于11(取决于你的代码)
在你的风格同时使用:
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
一日一对ActionBarSherlock
主题,第二是使用在Android设备上的同一个主题已经支持ActionBar
编辑:要清除lint警告(红色在XML文件中强调的是,可能会显示):