我有以下的层级关系:
目前我已经实现了:
我已经知道如何检测到触摸是否在我的圆圈之外。 我只是无法将其委托给Activity。
在我的
Activity
-> PopupWindow
-> CustomView
我的PopupWindow
本身是一个正方形,但是透明,所以可以看到后面的Activity。 CustomView
是嵌入在PopupWindow中的一个圆。
![alt text](https://istack.dev59.com/zFutR.webp)
- 用户点击绿色圆圈时,我会调用“一些内容”
- 用户点击
PopupWindow
外部,触摸事件将被派发给Activity。
PopupWindow
内但位于CustomView
(圆形)之外的任何触摸事件派发给Activity。我已经知道如何检测到触摸是否在我的圆圈之外。 我只是无法将其委托给Activity。
在我的
CustomView
中,我在onTouch
方法中有以下代码:if (radiusTouch > maxRadius) {
return false;
}
在我的PopupWindow
中,我已经设置了以下内容,但从未被调用:
popup.setTouchInterceptor(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.i(TAG, "PopupWindow :: onTouch()");
return false;
}
});
我还需要做什么才能将触摸事件委托到活动(Activity)呢?