检测所有手势

Detect gesture over everthing

如何检测我 Activity 中的任何手势,即使那里有很多东西(LayoutsImagesRecyclerViews 等)。 我打算创建一个可以随时完成的手势。 可能吗?

我试过这个:

findViewById(android.R.id.content).setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                Log.e("GESTURE", "GESTURE");
                return false;
            }
        });

但它不起作用。我觉得是因为其他views拦截了事件

不知道是否可以检测到 activity 上方的手势,例如 window。

谢谢!

可以,但是有点棘手。阅读有关触摸处理的内容,尤其是 onInterceptTouchEvent,它可用于父级拦截传给子级的触摸。

您将在(自定义)根视图中实现该方法,然后在其中施展手势魔法。

这里有一些有价值的信息:Android: Difference between onInterceptTouchEvent and dispatchTouchEvent?