【问题标题】:Forcing Overflow menu button on AndroidAndroid上的强制溢出菜单按钮
【发布时间】:2012-06-01 13:44:21
【问题描述】:

我正在为 Android 4.0.3 开发一个应用程序。我有多个片段,每个片段上都显示一个菜单项。我想要一个有 2 个菜单项的溢出菜单按钮。如何强制显示溢出菜单并向其添加菜单项?我通过在每个片段中调用 onCreateOptionsMenu 函数来添加菜单项。

我们将不胜感激。谢谢!

【问题讨论】:

  • 您遇到的具体问题是什么?
  • 我似乎无法弄清楚如何强制显示溢出菜单按钮。
  • 并非所有设备都会在屏幕上显示按钮。具有专用 MENU 按钮的设备或模拟器使用该按钮而不是屏幕按钮,因为这是这些设备的用户将习惯的。
  • 更新:从 KitKat (4.4) 开始,设备将在屏幕上显示溢出按钮,无论它们是否具有物理菜单按钮。当然,这对早期的 Android 版本没有帮助,但仅供参考,这至少是一个有趣的事实。

标签: android android-fragments android-actionbar android-menu


【解决方案1】:

要强制进入溢出菜单,请执行以下操作:

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
   menu.add(0, 2, 0, "Item 1").setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

   return true;
}

SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW 将强制该项目进入:

Android 3.0 + : ActionBar 作为溢出 Android 2.3 - : 菜单按钮

如果您想重新创建菜单,您需要调用invalidateOptionsMenu(); 这将从OnCreateOptionsMenu 重新创建。

【讨论】:

  • 我已经尝试过了,但没有成功。在模拟器上看不到溢出菜单按钮。
  • 我对我的原始问题进行了编辑,并添加了我的代码,这样你就可以看到我到底在做什么。添加上面提到的代码后,我仍然无法强制显示溢出菜单。
  • Commonsware 是对的。模拟器没有显示溢出按钮,但我的平板电脑显示了。感谢您的帮助!
  • 您的平板电脑可能会显示溢出按钮,因为它没有物理菜单按钮。
猜你喜欢
  • 2012-03-06
  • 2012-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多