我有一个扩展Android ScrollView的自定义视图。直接子项是一种相对布局,其中包含可单击的子项。 我希望能够:
到目前为止,我所尝试的是(伪代码):
public class CustomView extends ScrollView {
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev) || mScaleDetector.onTouchEvent(ev);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
return mScaleDetector.onTouchEvent(ev);
}
private class ScaleListener extends
ScaleGestureDetector.SimpleOnScaleGestureListener {
@Override
public boolean onScale(ScaleGestureDetector detector) {
// Handle the scale..
return true;
}
}
}
我还尝试了onInterceptMethod的不同配置,例如首先调用super并返回mScaleDetector.onTouchEvent等等。
我成功拦截了比例或点击和滚动,但不是两者。
谢谢, 丹尼尔
答案 0 :(得分:9)
解决方案是使用:
@Override
public boolean dispatchTouchEvent(MotionEvent ev){
super.dispatchTouchEvent(ev);
return mScaleDetector.onTouchEvent(ev);
}
并且不会覆盖onInterceptTouchEvent
和onTouchEvent
方法。