我刚创建了一个包含新版Android工具栏的应用程序。我的问题是:如何隐藏这个溢出菜单图标/按钮:http://prntscr.com/62mmus? 我已经尝试过这种方法,但它没有起作用:
Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
mToolbar.hideOverflowMenu();
我刚创建了一个包含新版Android工具栏的应用程序。我的问题是:如何隐藏这个溢出菜单图标/按钮:http://prntscr.com/62mmus? 我已经尝试过这种方法,但它没有起作用:
Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
mToolbar.hideOverflowMenu();
只需使用:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
return false;
}
<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" />
@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);
}
运行您的应用程序 - 溢出菜单图标已消失。
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"
android:visible="false"
/>
当调用方法 onCreateOptionsMenu 时,只需返回 false。
示例:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if (!showToolbarMenu)
return false;
getMenuInflater().inflate(R.menu.main_activity, menu);
return super.onCreateOptionsMenu(menu);
}
onCreateOptionsMenu()
的开头返回 false,那么你会在那里添加菜单项吗? - CoolMindonCreateOptionsMenu(Menu menu)
方法。如果你非要这么做,也不要在这个方法中使用 getMenuInflater().inflate(R.menu.main, menu);
这一行代码,因为它会在溢出按钮中填充在资源文件 R.menu.main
中声明的菜单。invalidateOptionsMenu();
即可解决您的问题。这个方法对我有用,我只是删除了这一行代码:getMenuInflater().inflate(R.menu.main_activity, menu);
onCreateOptionsMenu()
和onOptionsItemSelected()
方法,以及它们使用的menu
资源。然后,溢出菜单应该永远不会出现。 - CommonsWare