簡體   English   中英

我必須阻止狀態欄和家庭導航欄。 我用下面的代碼來阻止它

[英]i have to block status bar and home navigation bar. i used below code to block it

 private void hideSystemUI() {

 View decorView = getWindow().getDecorView();

 int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
 | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
 | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
 | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
 | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
 | View.SYSTEM_UI_FLAG_IMMERSIVE;

  decorView.setSystemUiVisibility(uiOptions);
   }

並且:

@Override

public void onWindowFocusChanged(boolean hasFocus)
{

 super.onWindowFocusChanged(hasFocus);

  View decorView = getWindow().getDecorView();

  decorView.setOnSystemUiVisibilityChangeListener( 
        newView.OnSystemUiVisibilityChangeListener() {

         @Override

         public void onSystemUiVisibilityChange(int i) {

            if (i == View.VISIBLE){
                hideSystemUI();
            }
            else {
                hideSystemUI();
            }
        }
    });

還用onForm()和onResume()(包括decorView.setOnSystemUiVisibilityChangeListener())編寫了hidesystemUI()代碼。 所以我必須阻止它。 一旦在頂部滑動,它就會來回移動(像眨眼一樣)。 但是我必須阻止它。 一旦我們在頂部滑動,它就不會出現。 幫助我。

如果您不希望它閃爍,則可能會延遲隱藏。 例如,您可以通過Handler.postDelayed()將其延遲2秒。

private void hideSystemUI() {
    final int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
            | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
            | View.SYSTEM_UI_FLAG_IMMERSIVE;

    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            getWindow().getDecorView().setSystemUiVisibility(uiOptions);
        }
    }, 2000); //2 seconds delay
}

如果您總是在主線程上調用此函數,則只需調用new Handler()即可在主線程上返回一個Handler。 否則,您將需要調用new Handler(Looper.getMainLooper())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM