【问题标题】:Android: hide action bar menu views regardless the menu itemsAndroid:无论菜单项如何,都隐藏操作栏菜单视图
【发布时间】:2014-09-10 15:03:32
【问题描述】:

我正在使用导航抽屉在片段之间切换。 我的操作栏菜单项与片段不同。

我想在抽屉打开时隐藏菜单项视图。 参考文档,建议通过ID查找菜单项并隐藏该项目。 但是,我的菜单项与片段不同,那么,我怎样才能简单地隐藏/显示操作栏上的菜单项视图?有什么flag可以控制吗?

顺便说一句,我在 DOC 中看到它说我可以在 onPrepareOptionsMenu() 中返回 false 以使其不显示,但是我尝试并最终徒劳无功。是我误会了吗?

public boolean onPrepareOptionsMenu (Menu menu)

在 API 级别 1 中添加 准备要显示的屏幕标准选项菜单。每次显示菜单时,都会在显示菜单之前调用它。您可以使用此方法有效地启用/禁用项目或以其他方式动态修改内容。 默认实现根据活动的状态更新系统菜单项。派生类应始终调用基类实现。

参数 menu 最后显示的或第一次由 onCreateOptionsMenu() 初始化的选项菜单。

退货 您必须返回 true 才能显示菜单;如果返回 false 则不会显示。

【问题讨论】:

    标签: android menu android-actionbar navigation-drawer


    【解决方案1】:

    如果人们仍在访问该链接,这就是我们禁用片段的选项菜单或选项菜单项的方式。

    1) 在fragment的onCreateView()方法中添加如下代码

     setHasOptionsMenu(true);// then only we can work with the menu items.Without this onPrepareOptionsMenu() method is not called
     .
    

    现在覆盖 onPreparedOptionsMenu() 方法并隐藏菜单项。如果您隐藏所有菜单项,则根本不会显示菜单。或使用 menu.clear() 清除所有菜单项

    @Override
        public void onPrepareOptionsMenu(Menu menu) {
            super.onPrepareOptionsMenu(menu);
            menu.findItem(R.id.menu_contacts).setVisible(false);
            --------------
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-28
      • 2013-12-18
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多