【问题标题】:How to dynamically enable/disable entire overflow menu?如何动态启用/禁用整个溢出菜单?
【发布时间】:2016-08-16 21:04:41
【问题描述】:

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

【问题讨论】:

    标签: android fragment material-design android-toolbar


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      如果您想再次显示或隐藏菜单,甚至不膨胀它们,只想再添加一件事。您可以像这样使用 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);
      
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-19
        • 1970-01-01
        • 2014-07-02
        • 1970-01-01
        • 2014-06-20
        • 1970-01-01
        • 2014-10-01
        相关资源
        最近更新 更多