没有显示带有三个点的ActionBar溢出菜单

时间:2014-01-14 11:09:21

标签: android android-actionbar

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

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

1 个答案:

答案 0 :(得分:0)

根据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提出有关此事的小费,指出了这一变化。