2016-11-10 19 views
0

Androidスタジオのアップデートでメニューボタンを作成するさまざまな方法を試しましたが、メニューボタンを表示できませんでした。ツールバーにメニューボタンが表示されない

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

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

は私が活動にこのコードを追加して含むmenu.xmlファイル作った:とにかく

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    > 
    <item 
     android:id="@+id/expanded_menu" 
     android:showAsAction="always" 
     android:icon="@drawable/ic_action_menu" 
     app:showAsAction="always" 
     android:title="button"> 
    </item> 
    <item android:id="@+id/credits" 
     android:title="Credits" 
     android:orderInCategory="100" 
     /> 
    <item android:title="Settings" 
     android:id="@+id/settings" 
     android:orderInCategory="101" 
     /> 
</menu> 

を、私は自動的にAndroidの以前のバージョンで追加された3つの正方形を作ることができる方法現れる?

App screenshot

これはアンドロイドスタジオの以前のバージョンで右上にある3つの点があった、アプリケーションのスクリーンショットです。 現在彼らはそこにいませんし、私の質問はどのようにメニューボタンを追加するのですか?

編集中:app:showAsAction="always"のアンドロイドスタジオに「=」記号が書かれるまで、すべての行がマークされています。おそらくこのエラーは何かに関連していますか? また、アイテム/ツールバーを作成する際に私は一歩足りなかったかもしれませんが、何も見逃してしまったかどうかはわかりません。

+0

私はかなり 'getMenuInflater()。inflate(R.menu.menu_mainmenu、menu)'があなたが望むことをしています。あなたはどんなテーマを使っていますか?あなたはツールバーを持っていますか? –

+0

私は、タイトルだけを追加して色を変えました。 Lightテーマ 'app:popupTheme =" @ style/ThemeOverlay.AppCompat.Light'を使用しています –

+0

ツールバーを黒くしないでください –

答えて

0

私はあなたがオーバーフローボタン(「3」ラベル)について話していると信じて:

enter image description here

このボタンは、あなたのオプションメニュー内の項目のすべてを表示するための十分なスペースがないときに表示される、または特定の項目をアクションとして表示しないように指定するときに使用します。これはapp:showAsAction属性によって処理されます。

  • ifRoom:次のように説明されているあなたが適用できる5つの異なる値があり、それの余地がある場合にのみ、アプリバーにこのアイテムを配置します。 "ifRoom"と表示されている項目がすべてない場合は、の値がorderInCategoryの項目が と表示され、残りの項目がオーバーフローメニューに表示されます。

  • テキスト:アクション項目にもタイトルテキスト(android:titleで定義)を含めます。この値 と他の1つをフラグセットとして パイプ|で区切って含めることができます。

  • :絶対にこのアイテムをアプリケーションバーに配置しないでください。代わりに、アプリケーションバーのオーバーフローメニューにアイテムを一覧表示します。

  • 常に:常にこのアイテムをアプリケーションバーに配置します。アイテムが常にアクション バーに表示されることが重要でない限り、これを使用しないでください。複数の項目を常にアクション項目として表示するように設定すると、 はアプリバーの他のUIと重なって表示されます。

  • collapseActionView:(android:actionLayout 又はandroid:actionViewClassによって宣言されるように)このアクションアイテムに関連付けられたアクション図で折り畳み可能です。あなたがにしたい場合にのみオーバーフローボタンを示し、14

したがってAPIレベルで導入され、あなたはすべてのメニュー項目についてapp:showAsAction="never"を設定する必要があります。

オプションメニューの一般的な構造は、最初の項目を常に表示し、残りを"ifRoom"と表示することです。

+0

メニューには常に「常に」項目がありますが、画像には何も表示されていません –

+0

画像でわかるように –

+0

@ cricket_007投稿した前に画像を追加する編集が表示されませんでした。 – Bryan

関連する問題