【发布时间】:2016-08-16 21:04:41
【问题描述】:
我想根据某些用户操作在运行时启用/禁用工具栏中的整个溢出菜单。这都在同一个片段中。如果条件成立,我尝试从 onPrepareOptionsMenu() 返回,一旦用户触摸它,它就会隐藏三点图标。但是,我不知道如何再次显示选项菜单。
【问题讨论】:
标签: android fragment material-design android-toolbar
我想根据某些用户操作在运行时启用/禁用工具栏中的整个溢出菜单。这都在同一个片段中。如果条件成立,我尝试从 onPrepareOptionsMenu() 返回,一旦用户触摸它,它就会隐藏三点图标。但是,我不知道如何再次显示选项菜单。
【问题讨论】:
标签: android fragment material-design android-toolbar
调用getActivity().invalidateOptionsMenu() 再次调用onPrepareOptionsMenu(),您可以根据自己的条件加载/不加载菜单。
【讨论】:
如果您想再次显示或隐藏菜单,甚至不膨胀它们,只想再添加一件事。您可以像这样使用 oncreateoptions 菜单参数
菜单溢出;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.mymenu, menu);
this.overflow = menu;
return super.onCreateOptionsMenu(menu);
}
然后创建一个函数来根据索引显示或隐藏任何菜单项。例如
public void hideorShowMenuItems(boolean bool){
overflow.getItem(1).setVisible(bool);
overflow.getItem(2).setVisible(bool);
overflow.getItem(3).setVisible(bool);
}
【讨论】: