当前位置: 首页 > 知识库问答 >
问题:

如何在ActionBar中隐藏菜单项?

祁乐邦
2023-03-14

我有一个带有MenuItem的操作条。如何隐藏/显示该菜单项?

这就是我要做的:

MenuItem item = (MenuItem) findViewById(R.id.addAction);
item.setVisible(false);
this.invalidateOptionsMenu();

共有1个答案

苏华荣
2023-03-14

获取指向此类项的MenuItem,对其调用SetVisible以调整其可见性,然后对活动调用InvalidateOptionsMenu()以便相应地调整ActionBar菜单。

更新:MenuItem不是布局中的常规视图。这是一种特别的,完全不同的东西。您的代码返回itemnull,这导致了崩溃。相反,您需要做的是:

MenuItem item = menu.findItem(R.id.addAction);

以下是您应该进行调用的顺序:首先调用invalidateOptionsMenu(),然后在OnCreateOptionsMenu(Menu)中获取对MenuItem的引用(通过调用Menu.Finditem())并对其调用SetVisible()

 类似资料:
  • 我正在尝试隐藏ActionBar中的子菜单和SearchView。我在用ActionBarsherlock。 我想通过点击按钮隐藏子菜单和SearchView

  • 我需要在主页上隐藏我的菜单,让它在向下滚动时出现。我正在使用Wordpress和Elementor。我能够通过安装“自定义CSS&JS”插件来实现这一点,它允许我添加任何我需要的JS代码。 我使用elementor自定义CSS在菜单部分添加了以下代码: null null 然后我用我安装的插件将这个Java脚本添加到我的网站上, null null 这做了工作,但现在菜单是隐藏在所有网页上的网站和

  • 问题内容: 我开发了一个简单的演示应用程序,其中包含启动屏幕,地图和一些常规屏幕。 我在顶部有一个包含徽标的操作栏。在我的手机(Galaxy s1 I9000 V2.3)上一切看起来都不错,但是当我在Galaxy s2 v4上对其进行测试时,动作栏也会出现在初始屏幕和地图屏幕中。 spalsh和map活动甚至都没有从ActionBarActivity继承,所以这怎么可能?我如何使它消失? 表现:

  • 我知道这个问题以前被问过,但没有得到准确的解决方案。我想从我的活动中隐藏ActionBar和NavigationBar,或者为了使其全屏。我尝试了下面的代码在我的活动创建方法,但它显示动作栏几秒钟,而不是让它全屏。在银河S3(Android4.3),它甚至超过一秒钟。所以我怎么能让它完全不可见,我的活动完全从一开始就像全屏一样。我看到许多应用程序只在S3上运行,但它们没有动作栏,甚至没有几秒钟。

  • 我尝试了和。我还尝试了。它只会禁用菜单项,但我需要完全隐藏它(因此它甚至不应该显示为该项分配的空间)。 为了隐藏菜单项,我可以对XML进行哪些更改?

  • 我正在尝试实现一个导航抽屉,每当抽屉打开时,它会将菜单项隐藏在ActionBar中。 我遵循谷歌的留档,但是他们的代码不产生预期的行为。 http://developer.android.com/training/implementing-navigation/nav-drawer.html 使用此代码,菜单项在抽屉完全打开时隐藏,并在抽屉完全关闭时显示。 然而,Gmail应用程序的表现有所不同。