如何在Android Activity中永久地在Jelly Bean(KitKat之前)中隐藏导航栏?

时间:2015-08-17 14:00:45

标签: android fullscreen navigationbar android-4.1-jelly-bean

我为Android制作了一个全屏应用程序,它同时隐藏了导航栏和支持API 16的状态栏(从Jelly Bean开始).. 我知道如果我想隐藏导航栏和从KitKat开始的状态栏我可以使用以下代码:

Matryoshka

但是这个代码对Jelly Bean起作用并不起作用,它只隐藏了一次条形图,一旦触摸屏幕它们就会重新出现。 所以我知道以下代码支持Jelly Bean,但它只隐藏状态栏:

getWindow().getDecorView().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_STICKY);

有人能告诉我永久隐藏导航栏和Jelly Bean的方法吗?

1 个答案:

答案 0 :(得分:0)

尝试在屏幕上显示后再次隐藏状态栏/导航栏。

以下是有关如何监听UI更改的信息:

https://developer.android.com/training/system-ui/visibility.html

相关部分:

View decorView = getWindow().getDecorView();
decorView.setOnSystemUiVisibilityChangeListener
        (new View.OnSystemUiVisibilityChangeListener() {
    @Override
    public void onSystemUiVisibilityChange(int visibility) {
        if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
            // system bars are visible
            // hide them again, maybe with some delay?
        }
    }
});