30

新しいアクション バー サポートを使用していますが、すべてのアクション ビューがバーのアイコンではなくオーバーフローに表示されます。私のアプリは 7+ API 用です。

ホームアクティビティ:

public class HomeActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        ActionBar actionBar = getSupportActionBar();
        actionBar.setTitle(R.string.app_name);
        actionBar.setDisplayHomeAsUpEnabled(true);
        actionBar.setHomeButtonEnabled(true);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.home, menu);
        return true;
    }
}

ホーム.xml

<item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:showAsAction="never"
    android:title="@string/action_settings"/>
<item
    android:id="@+id/action_browse"
    android:orderInCategory="100"
    android:showAsAction="never"
    android:title="@string/title_activity_browse"/>
<item
    android:id="@+id/action_search"
    android:actionViewClass="android.widget.SearchView"
    android:icon="@android:drawable/ic_menu_search"
    android:showAsAction="ifRoom|collapseActionView"
    android:title="@string/text_search"/>
<item
    android:id="@+id/action_scan"
    android:icon="@drawable/action_scan"
    android:showAsAction="always"
    android:title="@string/title_activity_browse"/>

4.3 の Nexus 7 と 2.3.3 のアイコンなしの LGP500 に展開しています。また、マニフェストに android:theme="@style/Theme.AppCompat.Light.DarkActionBar" を追加しました。公式ドキュメントに記載されているように、私のプロジェクトは android-support-v7-appcompat を正しく参照しています。

4

2 に答える 2

-1

よくある間違いは、string.xml ファイルにタイトル文字列を含めるのを忘れることです。各メニュー項目に必ず含めてください。

メニュー xml に次の項目が含まれているとします。

    <item
    android:id="@+id/toggle_action"
    android:orderInCategory="1"
    android:showAsAction="ifRoom"
    android:title="@string/toggle_action"/>

文字列 toggle_action の値を含めるのを忘れた場合、アクション バー アイコンは表示されません。

strings.xml ファイルに移動し、以下を追加します。

    <string name="toggle_action">TOGGLE</string>
于 2013-12-30T16:43:13.257 に答える