Android 對底部虛擬鍵的顯示和隱藏

場景:播放全屏視頻或則遊戲界面會隱藏虛擬按鍵,其餘界面會顯示虛擬按鍵。ui

1.隱藏底部虛擬按鈕:視頻

/**
    * 隱藏虛擬按鍵
    */
public void goneSystemUi(){
    //隱藏虛擬按鍵
    if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) {
        View v = getWindow().getDecorView();
        v.setSystemUiVisibility(View.GONE);
    } else if (Build.VERSION.SDK_INT >= 19) {
        View decorView = 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.顯示底部虛擬按鈕:遊戲

/**
 * 顯示虛擬按鍵
 */
public void visibleSystemUi(){
    //顯示虛擬鍵盤
    if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) {
        //低版本sdk
        View v = getWindow().getDecorView();
        v.setSystemUiVisibility(View.VISIBLE);
    } else if (Build.VERSION.SDK_INT >= 19) {
        View decorView = getWindow().getDecorView();
        int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
        decorView.setSystemUiVisibility(uiOptions);
    }
}

在代碼中設置標題欄,全屏和橫屏。注意:這些設置都不需在get

setContentView()前面調用
requestWindowFeature(Window.FEATURE_NO_TITLE);//無標題欄
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//全屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//橫屏