Android 隐藏状态栏直到退出

Android 隐藏状态栏直到退出,android,statusbar,Android,Statusbar,我已经设法在启动时隐藏状态栏。但每当我触摸控件时,状态栏就会显示出来。为了解决这个问题,我尝试用这个代码在每次触摸时隐藏它,但它先显示,然后隐藏。这种循环将永远持续下去 private View mContentView; private View mControlsView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s

我已经设法在启动时隐藏状态栏。但每当我触摸控件时,状态栏就会显示出来。为了解决这个问题,我尝试用这个代码在每次触摸时隐藏它,但它先显示,然后隐藏。这种循环将永远持续下去

private View mContentView;
private View mControlsView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_testgame);

    mControlsView = findViewById(R.id.fullscreen_content_controls);
    mContentView = findViewById(R.id.fullscreen_content);

    mContentView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            ActionBar actionBar = getSupportActionBar();
            if (actionBar != null) {
                actionBar.hide();
            }
            mControlsView.setVisibility(View.GONE);
            mContentView.setSystemUiVisibility(
                    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
                    | View.SYSTEM_UI_FLAG_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_IMMERSIVE);
        }
    });

我还尝试更改主题
android:theme=“@android:style/theme.NoTitleBar.Fullscreen”
,但在触摸控件之前仍将其隐藏。我想在退出应用程序之前隐藏它。可以在没有root权限的情况下执行此操作,因为我玩的大多数游戏都可以将其隐藏,直到我退出游戏或向下滑动

我刚刚在页面上找到了永久隐藏状态栏的解决方案

首先我添加了这个
导入android.view.WindowManager

下面是我的
OnCreate
函数:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_testgame);

    //Hide status bar
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    //Hide action bar
    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.hide();
    }

}
这段代码帮助您再次显示状态栏

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);// Show status bar

我刚刚在页面上找到了永久隐藏状态栏的解决方案

首先我添加了这个
导入android.view.WindowManager

下面是我的
OnCreate
函数:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_testgame);

    //Hide status bar
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    //Hide action bar
    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.hide();
    }

}
这段代码帮助您再次显示状态栏

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);// Show status bar