如何动态启用/禁用整个溢出菜单?

时间:2016-08-16 21:04:42

标签: android fragment material-design android-toolbar

我想根据某些用户操作在运行时启用/禁用工具栏中的整个溢出菜单。这都在同一个片段中。如果条件成立,我尝试返回onPrepareOptionsMenu(),一旦用户触摸它就会隐藏三个点图标。但是,我无法弄清楚如何再次显示选项菜单。

2 个答案:

答案 0 :(得分:1)

致电getActivity().invalidateOptionsMenu()再次调用onPrepareOptionsMenu(),您可以根据自己的条件加载/不加载菜单。

答案 1 :(得分:0)

如果你想再次显示或隐藏菜单而不给它们充气,只想添加一个东西。你可以像这样使用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);

    }