自动隐藏状态栏

时间:2017-09-03 19:55:17

标签: android

有没有办法自动隐藏状态栏?

我已经在活动开始时隐藏了状态栏,我认为它会在几秒钟后自动消失,或者当用户与其他东西进行交互时会自动消失,但事实并非如此。我仍然无法让它消失。

这是我的代码:

if (Build.VERSION.SDK_INT < 16) {
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
    else {
        View decorView = getWindow().getDecorView();

        int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
        decorView.setSystemUiVisibility(uiOptions);
    }

3 个答案:

答案 0 :(得分:1)

我在阅读page之后终于找到了解决方案。

View decorView = getWindow().getDecorView();

decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
                | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY // hide status bar and nav bar after a short delay, or if the user interacts with the middle of the screen
                );

答案 1 :(得分:0)

尝试使用这些标志:

getWindow().getDecorView().setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_FULLSCREEN);

谷歌上有一篇很好的文章here

答案 2 :(得分:0)

我们的基础活动有一种方法可以全屏显示。 在onCreatesuper.onCreatesetContentView()之前在@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); removeTitleBar(); setContentView(your_layout); } 中调用此内容:

    protected void removeTitleBar() {
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
    if (getSupportActionBar() != null)
        getSupportActionBar().hide();
    //Remove notification bar
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}

这是方法:

keyring >= 4.1.1            # Minimum version 4.1.1
coverage != 3.5             # Version Exclusion. Anything except version 3.5

只要我们支持它,这适用于任何api级别。但是我们不会像api 8那样低。 有时15岁,大多数是17岁以上。 希望这会有所帮助。