Android:虛擬按鍵/導航鍵遮擋內容的解決方案

方案1:
這種方案底部依舊會保留虛擬導航按鍵。但不保留狀態欄

 getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
方案1效果圖

方案2:
這種方案不會保留底部虛擬導航按鍵。也不保留狀態欄

/**
     * 180115 隱藏 魅族、Nexus、華為等底部的虛擬導航按鍵,避免遮擋內容
     *
     * @param activity 需要隱藏底部導航按鍵的Activity
     */
    public static void hideBottomUIMenu(Activity activity) {
        //隱藏虛擬按鍵,并且全屏  
        if (Build.VERSION.SDK_INT < 19) { // lower api  
            View v = activity.getWindow().getDecorView();
            v.setSystemUiVisibility(View.GONE);
        } else if (Build.VERSION.SDK_INT >= 19) {
            View decorView = activity.getWindow().getDecorView();
            int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View
                    .SYSTEM_UI_FLAG_FULLSCREEN;
            decorView.setSystemUiVisibility(uiOptions);
        }
    }
方案2效果圖

方案3:
這種方案在很多手機中都不生效。
這種方案會保留底部虛擬按鍵,也會保留狀態欄

 <!-- CnPeng 點擊廣場列表中的條目后跳轉到該界面 -->
        <activity
            android:name="com.zjelite.square.activity.ShareDetailsOfSquareActivity"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateHidden|adjustResize"/>

參考:
https://www.zhihu.com/question/35292413
http://blog.csdn.net/MrZhang_happy/article/details/70057429

本文到此結束,謝謝觀看!
如有不足,敬請指正!


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。