【问题标题】:ActionBar overflow menu with three dots is not showing带有三个点的 ActionBar 溢出菜单未显示
【发布时间】:2014-01-14 19:32:53
【问题描述】:

我的设备在 android:4.1.2 上运行,并且有物理硬件菜单按钮。

我在菜单中添加了 5 个项目,当我设置 ShowAsAction =“never”时,选项菜单会在按下物理硬件菜单按钮时显示。对于具有物理硬件菜单按钮的设备,有什么方法可以在带有溢出菜单的操作栏上显示它们(我的意思是对于没有物理硬件菜单按钮的设备可以看到三个点)

【问题讨论】:

标签: android android-actionbar


【解决方案1】:

根据 Commonsware 描述的 here

  try {
  ViewConfiguration config = ViewConfiguration.get(this);
  Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");

  if (menuKeyField != null) {
    menuKeyField.setAccessible(true);
    menuKeyField.setBoolean(config, false);
  }
}
catch (Exception e) {
  // presumably, not relevant
}

这在 Android 4.4+ 上应该不需要,尽管有了异常处理程序,如果您运行它,我预计不会出现任何特殊问题,并且有一天,他们会彻底摆脱 sHasPermanentMenuKey

就我个人而言,我仍然不会在 Android 4.3 及更低版本上进行更改,因为我怀疑这是一个打地鼠的情况,在这种情况下,您将用抱怨有相同菜单的重复版本来代替没有菜单的抱怨。话虽如此,由于这是官方认可的未来行为,我对开发人员在旧设备上的一致性没有意见。

the commenter on the issue I filed 致敬,指出变化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 1970-01-01
    相关资源
    最近更新 更多