Android开发:强制ActionBar显示menu图标

默认情况下,在有硬件menu键的手机上,不会显示menu图标(右上角三个点),如果功能依赖这个菜单,可能在对某些用户来说就有些隐晦了,他们可能无法找到这些功能。 要强制系统显示menu图标,可以用反射的方法,把ViewConfiguration对象的sHasPermanentMenuKey属性设为false,让系统以为没有硬件菜单键。

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();
 }