ここにあるコードを適応させることにより、ActionBarSherlockを使用してアクションバーにキャンセル/完了レイアウトを実装しようとしています。
すべてがICSまたはJellyBean(ABSがネイティブActionBarを使用する場合)で意図したとおりに機能します。Gingerbread(API 10)でテストする場合、ボタンの間に仕切りが表示されないことを除いて、すべてが正常に機能します。
私は最初、これは仕切りの画像の問題だと思いましたが、次のようなコードを使用している場合でも:
android:divider="#f00"
ジンジャーブレッドには仕切りは表示されませんが、予想どおり、ICS/JBには明るい赤の仕切りが表示されます。どうやらActionBarSherlock3.5+は仕切りの外観にネイティブの動作を使用しているようですが、ABSを使用すると仕切りが表示されないのに、ネイティブのActionBarを使用すると仕切りが表示されるのはなぜですか?
これが私のXMLです:
actionbar_custom_view_done_discard.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="?attr/dividerVertical"
android:dividerPadding="12dp"
android:orientation="horizontal"
android:showDividers="middle" >
<include layout="@layout/actionbar_cancel_button" />
<include layout="@layout/actionbar_done_button" />
</LinearLayout>
actionbar_cancel_button.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/actionbar_cancel"
style="?actionButtonStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/abs__item_background_holo_light" >
<TextView
style="?actionBarTabTextStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:drawableLeft="@drawable/ic_action_cancel"
android:drawablePadding="8dp"
android:gravity="center_vertical"
android:paddingRight="20dp"
android:text="@string/action_cancel" />
</FrameLayout>
actionbar_done_button.xmlは上記とまったく同じですが、名前、テキスト、アイコンが変更されています。
前もって感謝します。