这个答案基本上是niko34 的,但更详细一点。目前,我将顶部操作栏和下部操作栏(下部操作栏更恰当地命名为拆分操作栏)的样式相同,但您会发现将它们设置为不同的样式非常简单。我正在使用ActionBarSherlock v4.2.0,并且已经在运行 Jelly Bean 的三星 Galaxy S3 和运行 Gingerbread 的 HTC Droid Incredible 上完美地测试和运行了它。
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="..."
android:versionCode="1"
android:versionName="0.1" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="16" />
<application
android:icon="@drawable/launcher"
android:label="@string/app_name" >
<activity
android:label="@string/main_activity_title"
android:name=".MainActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.Styled"
android:uiOptions="splitActionBarWhenNarrow" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
res/values/themes.xml
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Theme.Styled" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
</style>
<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
<item name="background">@drawable/bg_actionbar</item>
<item name="android:background">@drawable/bg_actionbar</item>
<item name="backgroundSplit">@drawable/bg_actionbar</item>
<item name="android:backgroundSplit">@drawable/bg_actionbar</item>
</style>
</resources>
在这里你可以看到我是如何引用@drawable/bg_actionbar
几次的。那是一个位于res/drawable
目录中的 xml 文件。以下是该文件的来源。
res/drawable/bg_actionbar.xml
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:dither="true"
android:src="@drawable/bg_tile"
android:tileMode="repeat" />
在这里,android:src="@drawable/bg_tile"
只是引用我的bg_tile.png
文件,该文件位于res/drawable-hdpi
、res/drawable-ldpi
、res/drawable-mdpi
和res/drawable-xhdpi
.
所以所有这些可能是比必要的更多信息,但总比没有足够的好!:)