android:actionBarStyle需要API级别11
在xml中使用ActionBarSherlock
时:
<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>
因为你可以得到错误,你可以在API级别11上获得android:actionBarStyle
。
如果您希望能够使ActionBar
样式在所有API级别中相同,则需要为选定的API级别创build不同的文件夹,并在这些文件夹中创build新的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
,您将只能使用@style/Theme.Sherlock.Light.DarkActionBar
。 在deviseAPI级别14+的动作栏时,您不需要Holo.Light
,因为您可能会将Holo.Light
主题设置为当前父Holo.Light
主题,所以在这种情况下,您将不得不使用android:actionBarStyle
。
另一个select是使用tools:targetApi
属性,它需要tools
名称空间。 这与您可以在java文件中使用的@TargetApi
注释类似。
<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>
请注意<resources>
标记中的xmlns:tools="http://schemas.android.com/tools"
,因为它是必需的。
您只需在Eclipse中select错误,然后按下“Delete”键即可。 然后运行该项目,它会工作。
每次修改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" />
在ActionBarSherlock
示例中使用16可以是任何大于或等于11(取决于您的代码)
在你的风格使用两个:
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item> <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
第一个是为ActionBarSherlock
主题,第二个是在Android设备中使用相同的主题,已经支持ActionBar
编辑:清除Lint警告(可能出现的XML文件中的红色下划线):