0

私はインターネットの周りをたくさん検索しました。私はしなければならなかったことをしましたが、それでも 3 つの点線のメニューを希望どおりに表示できません。

関連するコードは次のとおりです。

まず、マニフェストの min sdk が に設定され9、targetSdk が に設定されてい18ます。

メニューxml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

 <item
    android:id="@+id/itemMainAlbum"
    android:showAsAction="ifRoom"
    android:title="Set as Main Album">
</item>
<item
    android:id="@+id/itemImport"
    android:showAsAction="ifRoom"
    android:title="Import">
</item>
<item
    android:id="@+id/itemSettings"
    android:showAsAction="ifRoom"
    android:title="Settings">
</item>

アクティビティの関連コード (SherlockActivity を拡張):

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
       MenuInflater inflater = getSupportMenuInflater();
       inflater.inflate(R.menu.gallery_menu, menu);
       return super.onCreateOptionsMenu(menu);
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
       // Handle item selection
       switch (item.getItemId()) {
          case R.id.itemImport:
             startImportActivity();
             return true;
          case R.id.itemMainAlbum:
              setMainAlbum();
             return true;
          case R.id.itemSettings:
                 // do s.th.
              return true;
          default:
             return super.onOptionsItemSelected(item);
       }
    }

私の活動は次のようになります。

ここに画像の説明を入力

下部のメニュー項目は、デバイスのメニュー ボタンをクリックしたときにのみ表示されます。追加したメニュー項目の数に関係なく、3 つの点線のメニューは表示されません。

4

2 に答える 2

1

ActionBarSherlock を使用している場合は、この小さなハックを使用できます。私にとっては問題なく動作し、テストしたすべてのデバイスでメニューオーバーフローが表示されます.

于 2013-07-29T17:56:46.773 に答える
1

お使いのデバイスには MENU ボタンがあるため、「3 つのドット メニュー」は表示されません。「3 つのドット メニュー」は、メニュー ボタンがないデバイスにのみ表示され、そのようなユーザーがオーバーフローにアクセスできるようにします。MENU ボタンのないデバイスをエミュレートするエミュレータをセットアップすると、「3 つのドット メニュー」がどのように表示されるかを確認できます。

詳細については、Android デベロッパー ブログの投稿「MENU ボタンに別れを告げる」をご覧ください。

于 2013-07-29T17:47:45.667 に答える