2

これらのスレッドとまったく同じ問題があります。

アクションバーにアクションやアイコンが表示されません。オーバーフローのみ

メニュー項目がアクション バーに表示されない

誰も解決策を提供していないので、もう一度取り上げたいと思います。

次のような xml ファイル my_menu.xml があります。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/delete"
        android:showAsAction="ifRoom|withText"
        android:icon="@drawable/ic_delete_image"
        android:title="delete"/>
</menu>

私のアクティビティは ActionBarActivity を拡張し、これらのメソッドを実装します:

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {

            switch(item.getItemId()) {
                case R.id.delete:
                    //delete something
                    break;
            }

            return(true);
}

私の本では:「ifRoomの値は、スペースがある場合にメニュー項目がアクションバーに表示されることを意味します」-ifRoom、ifRoom | withText、および常に使用するようにテストしましたが、項目は常にオーバーフローで終了しますメニュー。さまざまなデバイスでアプリケーションをテストしましたが、十分な余裕があります。誰にもこれに対する解決策はありますか?

ハンク

4

2 に答える 2

5

私のアクティビティは ActionBarActivity を拡張します

ドキュメントで説明されているようappcompat_v7に、アクション バーのバックポートとそれに関連付けられたを使用している場合ActionBarActivity、メニュー リソースはshowAsActionアプリにカスタムの名前空間にある必要があります。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
    <item
        android:id="@+id/delete"
        yourapp:showAsAction="ifRoom|withText"
        android:icon="@drawable/ic_delete_image"
        android:title="delete"/>
</menu>

appcompat_v7アクション バーの使用方法を示す完全なサンプル プロジェクトを次に示します。

于 2014-05-02T12:42:54.820 に答える
0

に変更してみてください

<item
        android:id="@+id/delete"
        android:showAsAction="always|withText"
        android:icon="@drawable/ic_delete_image"
        android:title="delete"/>

これがあなたを助けることを願っています。

于 2014-05-02T11:39:53.407 に答える