1. 程式人生 > >Android下強制顯示ActionBar的overflowbutton

Android下強制顯示ActionBar的overflowbutton

print trac acc onf als 永遠 能夠 16px tac

因為手機硬件情況的不同,在沒有物理Menu鍵的手機上。ActionBar的overflowbutton會有顯示不出來的情況,能夠通過反射的方式改動ViewConfiguration類中的sHasPermanentMenuKey靜態變量的值永遠為false。系統就是依據這個變量值來推斷手機有沒有物理Menu鍵,代碼例如以下:
@Override
protected void onCreate(Bundle savedInstanceState) {
……
setOverflowShowingAlways();
}
private void setOverflowShowingAlways() {

try {
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class.getDeclaredField(“sHasPermanentMenuKey”);
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
} catch (Exception e) {

e.printStackTrace();
}
}

Android下強制顯示ActionBar的overflowbutton