是否可以创建自定义视图,在自定义视图实现中覆盖函数onTouch()
,并允许通过setOnTouchListener()
设置自定义GestureDetector。
只有我有onTouch()绘图实现,或者只有setOnTouchListener()来检测手势时,它才适用于我。也许我可以将这个手势检测放在视图中。但我更愿意将其作为单独的松散耦合可重用组件,而不是紧密耦合的手势检测器。
答案 0 :(得分:1)
你可以这样想:
public class CustomTouchView extends View {
private OnTouchListener onTouchListener;
public CustomTouchView(Context context) {
super(context);
}
@Override
public void setOnTouchListener(OnTouchListener l) {
super.setOnTouchListener(l);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (onTouchListener != null) {
return onTouchListener.onTouch(this, event);
} else {
return super.onTouchEvent(event);
}
// or implement your custom touch logic here
}
}