Android:如何在平板电脑中完全隐藏系统栏?

时间:2016-02-05 08:24:49

标签: android navigationbar

我有一个根植的平板电脑。要隐藏导航以及系统栏,我在Activity的onCreate方法中有以下代码:

final int flags = 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
                | View.SYSTEM_UI_FLAG_LOW_PROFILE;


        if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
        {

            getWindow().getDecorView().setSystemUiVisibility(flags);

            // Code below is to handle presses of Volume up or Volume down.
            // Without this, after pressing volume buttons, the navigation bar will
            // show up and won't hide
            final View decorView = getWindow().getDecorView();
            decorView
                .setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener()
                {

                    @Override
                    public void onSystemUiVisibilityChange(int visibility)
                    {
                        if((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0)
                        {
                            decorView.setSystemUiVisibility(flags);
                        }
                    }
                });
        }

我想不允许用户选择拉动系统栏。对于有根设备。我该怎么办呢?

1 个答案:

答案 0 :(得分:2)

这是两个非常简单的调用来禁用和启用我以前使用过的状态栏。可以从命令行使用

停用

service call activity 42 s16 com.android.systemui

启用:

am startservice -n com.android.systemui/.SystemUIService