2

私は ActionBarSherlock を使用しており、ActionBar にオプション メニューを追加しようとしています。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/menu_prev"
        android:title="@string/menu_previous"
        android:icon="@drawable/left_navigation"
        android:showAsAction="always|withText" />

    <item android:id="@+id/menu_next"
        android:title="@string/menu_next"
        android:icon="@drawable/right_navigation"
        android:showAsAction="always|withText" />

</menu>

drawable-mdpi ディレクトリ内のアイコンは 32x32 ピクセルです。ActionBar が分割されている場合 (縦向き)、アイコンは表示されますが、テキストは表示されません (十分なスペースがあります)。アイコン長押し タイトルをトーストします。ActionBar が分割されていない場合 (横向き)、アイコンとテキストの両方が期待どおりに表示されます。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.main_menu, menu);

    return super.onCreateOptionsMenu(menu);
}

Menu、MenuInflater、および getSupportMenuInflater() はすべて ActionBarSherlock 実装を使用しています。

マニフェストの「アプリケーション」は次を宣言します。

android:uiOptions="splitActionBarWhenNarrow"

縦向きのときに各アイテムのタイトルを表示するにはどうすればよいですか?

編集: おそらく関連するのは、私が Android 4.0.4 を実行していることです。

4

1 に答える 1

1

Android >= 3.0 を使用している場合、ABS はアクションバーのシステム実装を使用するため、表示される動作は正しいです。動作がそのようになっている理由については、@CommonsWare の質問に対するコメントを参照してください。

于 2013-03-14T18:32:38.597 に答える