2015-02-08 83 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" 

    />