如何始终在 ActionBar 上显示 Android 设置按钮?(4.0+)
即使设备有一个用于设置的硬件按钮,我也想展示它,所以它与有和没有硬件按钮的设备相同。
这就是我所说的:http: //oi48.tinypic.com/2j104l0.jpg
如何始终在 ActionBar 上显示 Android 设置按钮?(4.0+)
即使设备有一个用于设置的硬件按钮,我也想展示它,所以它与有和没有硬件按钮的设备相同。
这就是我所说的:http: //oi48.tinypic.com/2j104l0.jpg
有一个可怕的 hack 通常已经在许多问题上得到了回答。调用这个from your onCreate()
:
private void getOverflowMenu() {
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) {
e.printStackTrace();
}
}
强烈建议不要使用此 hack,因为sHasPermanentMenuKey
字段可以随时更改。但是,到目前为止,这一直对我和其他人有用。看
其次,手机上出现硬件按钮是有原因的。仅显示添加溢出菜单可能会使您的用户感到困惑。理想情况下,用户会非常习惯于使用他/她的个人电话。所以,如果用户的手机有溢出菜单选项的硬件按钮,那么它不需要在操作栏的顶部有图标。由于不同应用程序的行为差异,添加按钮可能会使用户感到困惑。
希望有帮助。
编辑:
简而言之,它不推荐,因为sHasPermanentMenuKey
Android 代码中的字段可以随时更改,如果找不到会破坏您的应用程序。