2016-11-10 101 views
0

我嘗試了在Android Studio更新中製作菜單按鈕的不同方法,但無法顯示菜單按鈕。工具欄不會顯示菜單按鈕

@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的自動添加的三個正方形出現?

App screenshot

這是應用程序的截圖,在Android Studio中的先前版本有在右上角的三個圓點。 目前他們不在那裏,我的問題是如何添加菜單按鈕。

編輯:同時編寫app:showAsAction="always" android studio標記所有行紅直到我寫了「=」符號,也許這個錯誤與某事有關? 也許我錯過了一個步驟,同時使項目/工具欄,但我不知道我是否錯過了任何東西。

+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:只有把這個項目中應用欄,如果有空間的。如果沒有標記爲"ifRoom"的所有項目的空間,則 值最低的orderInCategory項顯示爲 操作,其餘項顯示在溢出菜單中。

  • withText:還包括標題文本(由android:title定義)與操作項目。您可以使用 管道|將其值 與其他值之一一起作爲標誌集包含在內。

  • 從不:切勿將此物品放置在應用程序欄中。相反,請在應用欄的溢出菜單中列出該項目。

  • 總是:始終將此項目放在應用程序欄中。避免使用此項,除非該項目總是出現在動作 欄中至關重要。將多個項目設置爲始終顯示爲操作項目 會導致它們與應用欄中的其他用戶界面重疊。

  • collapseActionView:與此動作項目(如通過android:actionLayoutandroid:actionViewClass聲明)相關聯的動作的觀點是可摺疊的。在API級別推出14

因此,如果你想顯示溢出按鈕,你應該設置app:showAsAction="never"您的所有菜單項。

雖然,選項菜單的典型結構是始終顯示第一項,並指定其餘的顯示"ifRoom"

+0

我不確定這是否解決了問題,菜單中顯然有一個「always」項目,但是圖像中沒有顯示任何東西 –

+0

正如您在圖片中看到的那樣在工具欄上沒有任何項目,即使我在菜單文件中創建了它們。 –

+0

@ cricket_007您是對的,我在發佈之前沒有看到添加圖像的編輯。 – Bryan