美文网首页
Android强制显示Overflow菜单

Android强制显示Overflow菜单

作者: Lollo | 来源:发表于2015-12-22 16:18 被阅读557次

在一些有实体菜单键的手机上,Android Overflow菜单的图标可能会不显示。
这时候需要我们欺骗系统,把ViewConfiguration里面 "sHasPermanentMenuKey"的field设成false, 以达到强制显示的目的。

代码很简单,直接在继承了Application的类里添加。

 private void makeActionOverflowMenuShown() {
        //devices with hardware menu button (e.g. Samsung Note) don't show action overflow menu
        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) {
            Log.d(TAG, e.getLocalizedMessage());
        }
    }

相关文章

网友评论

      本文标题:Android强制显示Overflow菜单

      本文链接:https://www.haomeiwen.com/subject/crtvhttx.html