在一些有實體菜單鍵的手機上呀潭,Android Overflow菜單的圖標可能會不顯示。
這時候需要我們欺騙系統(tǒng)骤肛,把ViewConfiguration里面 "sHasPermanentMenuKey"的field設(shè)成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());
}
}