在Android軟按鍵中添加Menu鍵。

      在Android中,有時候沒有硬件Menu。於是需要軟件Menu。但是默認Google想讓你用ActionBar上的Menu。

但是,有時候我們確實需要在在底部的軟按鍵上加Menu。這裏提供一種方法,經過測試,可行。

這裏,設置Window的屬性,要求添加Menu鍵。

    爲什麼用反射,是因爲這個是隱藏的屬性。並且,在低版本上,這個屬性是不存在的。

    另外,軟按鍵的顯示,是在SystemUI裏面控制的,這裏沒有詳細分析,有時間可以分析一下。


        t ry {

                getWindow().addFlags(WindowManager.LayoutParams.class.getField("FLAG_NEEDS_MENU_KEY").getInt(null));
        }
        catch (NoSuchFieldException e) {
                // Ignore since this field won't exist in most versions of Android
               LogMi.w(TAG, "cant find field FLAG_NEEDS_MENU_KEY at WindowManager.LayoutParams");
        }
        catch (IllegalAccessException e) {
                Log.w(TAG, "Could not access FLAG_NEEDS_MENU_KEY in addLegacyOverflowButton()", e);
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章