状态栏重新出现时检测到

时间:2015-08-10 23:37:42

标签: java android statusbar samsung-mobile android-fullscreen

我的应用以全屏模式(沉浸式模式)运行。

状态栏隐藏在顶部。

在某些三星手机上,有一支手写笔。如果笔被移除,状态栏将重新出现并且不会消失。

我尝试为此事件添加一个侦听器,但它没有被调用。

 View decorView = getActivity().getWindow().getDecorView();
        decorView.setOnSystemUiVisibilityChangeListener
                (new View.OnSystemUiVisibilityChangeListener()
                {
                    @Override
                    public void onSystemUiVisibilityChange(int visibility) {
                        // Note that system bars will only be "visible" if none of the
                        // LOW_PROFILE, HIDE_NAVIGATION, or FULLSCREEN flags are set.
                        if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
                            // TODO: The system bars are visible. Make any desired
                            // adjustments to your UI, such as showing the action bar or
                            // other navigational controls.

                            System.out.print("Change event");
                        } else {
                            // TODO: The system bars are NOT visible. Make any desired
                            // adjustments to your UI, such as hiding the action bar or
                            // other navigational controls.
                            System.out.print("Change event");
                        }
                    }
                });

你知道我怎么知道状态栏是否重新出现了吗?

1 个答案:

答案 0 :(得分:0)

在我的活动中,我这样做是为了让它重新隐藏状态栏:

@Override
    public void onWindowFocusChanged(boolean hasFocus)
    {
        System.out.println("Gotcha");
        super.onWindowFocusChanged(hasFocus);

        final Handler handler = new Handler();
        handler.postDelayed(new Runnable()
        {
            @Override
            public void run() {
                System.out.println("Hiding");
                _root.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
            }
        }, 6000);
    }