我想控制在ICS中使用溢出菜单。我还在我的onCreateView()中尝试了这段代码,并参考了这个link
try {
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if(menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}
} catch (Exception ex) {
// Ignore
}
请帮助我,我错了,以及如何使用它。
答案 0 :(得分:4)
我错了
在您的应用中使用此代码是错误的。
我如何使用它
你不应该使用它。请允许溢出菜单正常运行。
首先,您的代码可能无法在所有设备和Android版本上使用。
更重要的是,您所做的是告诉您的用户您认为自己比自己更重要。
每个设备都基于操作系统版本和硬件,可以触发菜单:操作栏中的...
示意图或设备的MENU按钮。用户希望设备上的应用程序之间的一致性。对于设备具有MENU按钮的用户,他们希望使用所有应用程序中的菜单按钮 来显示可用的菜单。您试图通过打破他们的菜单按钮来伤害这些用户。请不要这样做。请允许您的应用与用户设备上的其他应用相同,其中MENU按钮会显示溢出菜单。
<强>更新强>
从Android 4.4开始,无论设备是否有菜单按钮,溢出......功能都会出现在操作栏中,而Google正在给设备制造商施加更大的压力,要求其停止包含MENU按钮。 I have blogged a bit more about this