我有一个覆盖整个屏幕大小的ViewGroup,希望用它来展示用户与应用程序交互时的效果,并仍然将onTouch事件传递给任何底层视图。
我对所有MotionEvents(不仅仅是DOWN事件)都感兴趣,所以onInterceptTouchEvent()不适用于此,因为如果返回true,我的覆盖层将消耗所有事件,如果返回false,它将只接收到DOWN事件(onTouch也是如此)。
我认为我可以重写Activity的dispatchTouchEvent(MotionEvent ev)方法,并在我的覆盖层中调用自定义触摸事件,但这会导致输入坐标不根据我的视图位置进行转换(例如,所有事件将似乎发生在实际触摸下方约20个像素,因为系统栏没有考虑在内)。
ViewGroup#dispatchTouchEvent
有什么问题吗? - pskink