物理Menu 呼出 ActionBar中隱藏菜單的實現方式
當程序採用ActionBar作爲菜單時,希望菜單行爲方式一直,但是在傳統的物理Menu按鍵觸發時,默認的菜單呼出方式跟ActionBar不一致,導致體驗不友好,而且菜單的樣式也不一樣。
要實現這樣的方式,只能改變程序對系統是否存在虛擬按鍵的判斷,如果程序認爲系統存在虛擬按鍵,那麼呼出的按鈕就是ActionBar的隱藏按鈕。
具體實現方式爲在 只需要在如下方法中添加如下代碼,即可實現
[java] view plain copy 在CODE上查看代碼片派生到我的代碼片
01.@Override
02. public boolean onPrepareOptionsMenu(Menu menu) {
03. ViewConfiguration config = ViewConfiguration.get(this);
04. try {
05. Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
06. if(menuKeyField != null) {
07. menuKeyField.setAccessible(true);
08. menuKeyField.setBoolean(config, false);
09. }
10. } catch (Exception e) {
11. Log.e("onPrepareOptionsMenu", e.getMessage(), e);
12. }
13. return super.onPrepareOptionsMenu(menu);
14.
轉載自。。http://blog.csdn.net/zuesluo/article/details/33324547