2015-02-08 86 views
3

我剛剛創建了一個包含新的Android工具欄的應用程序。我的問題是:如何隱藏這個溢出菜單圖標/按鈕:http://prntscr.com/62mmus? 我已經嘗試過這一點,但它不工作:新的Android工具欄:如何隱藏溢出菜單圖標?

 Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar); 
     mToolbar.hideOverflowMenu(); 
+2

「我怎麼會躲在這個溢出菜單圖標/按鈕」 - 不把任何行動項目在操作欄。刪除你的'onCreateOptionsMenu()'和'onOptionsItemSelected()'方法,以及它們使用的菜單資源。然後,溢出應該永遠不會出現。 – CommonsWare 2015-02-08 17:34:20

回答

16

只需使用:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    if (!showToolbarMenu) 
     return false; 
    getMenuInflater().inflate(R.menu.main_activity, menu); 
    return super.onCreateOptionsMenu(menu); 
} 
+0

完美。謝謝。 – 2016-09-29 23:49:08

2

這是我做到了。

這是菜單文件夾下我原來menu_main.xml文件:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity"> 
    <item android:id="@+id/action_settings" android:title="@string/action_settings" 
     android:orderInCategory="100" app:showAsAction="never" /> 
</menu> 

刪除項目:

<item android:id="@+id/action_settings" android:title="@string/action_settings" 
     android:orderInCategory="100" app:showAsAction="never" /> 

轉到您的主要活動,並註釋掉以下如果(ID == R.id.action_settings):

@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.action_settings) { 
    //  return true; 
    // } 

    return super.onOptionsItemSelected(item); 
} 

運行您的應用程序 - 溢出菜單圖標消失。

1

調用方法onCreateOptionsMenu

防爆時候才返回false你的問題將得到解決。

-1

使用命令 invalidateOptionsMenu();

答:

@Override 
public boolean onPrepareOptionsMenu(Menu menu) { 
     return false; 
} 
+0

請考慮添加額外的詳細信息,爲什麼這是正確的答案。 – 2017-04-22 04:10:24

2

對我有用的是: 在菜單文件夾的菜單文件(global.xml)的菜單項中添加以下內容: android:visible =「false」。

例如:

<item 
    android:id="@+id/action_settings" 
    android:orderInCategory="100" 
    android:showAsAction="never" 
    android:title="@string/action_settings" 
    android:visible="false" 

    />