查看onTouchListener状态栏隐藏的问题

时间:2016-01-01 14:16:33

标签: android ontouchlistener

我正在尝试实现一个隐藏工具栏,状态栏和导航栏的应用程序,但是当用户触摸屏幕时,它们应该重新出现。当我第一次使用

隐藏元素时,似乎工作正常
 View decorView = getWindow().getDecorView();
            int uiOptions =View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN;
            decorView.setSystemUiVisibility(uiOptions);
toolbar.setTranslationY(-toolbar.getHeight());

但是当我触摸屏幕时,状态栏和导航栏会重新出现。 (工具栏没有。)和另一个触摸确实被听众捕获。

我已经完成了逐步调试,但第一次触摸(使状态栏和导航栏出现)并没有得到听众的识别。 第二个。 我试过查看View类代码,我在它上面设了一个断点 OnTouchEvent方法,但它永远不会被调用..或者它不可能包括在内 在我的调试中...(与android studio合作。) 任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

不幸的是,我唯一成功的解决方案就是听取UI可见性的变化,并在触摸事件中执行你想做的任何事情。

root.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
    @Override
    public void onSystemUiVisibilityChange(int visibility) {
        if (visibility == 0) {
            // nav & status bar visible, treat as touch event
        }
    }
});