Android下強制顯示ActionBar的overflow按鈕

由於手機硬件情況的不同,在沒有物理Menu鍵的手機上,ActionBar的overflow按鈕會有顯示不出來的情況,可以通過反射的方式修改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();  
    }  
}  
發佈了30 篇原創文章 · 獲贊 10 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章