好的,这可能是微不足道的,但我无法弄明白该怎么做。
我们有一个容器滚动视图,一个ScrollView
的子类,这个视图有一个子视图(以及其他视图)应该监听触摸事件。
特别是,我想做的是:
childView
,MotionEvent.ACTION_DOWN
来了; scrollView
开始滚动; scrollView
处理它,什么都不做;如果没有,即如果点击childView
没有开始滚动到父视图,做某事。有什么想法吗?
伪编码,应该是这样的:
ScrollView scrollView = ...;
View childView = scrollView.findViewById(...):
childView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
if (action == MotionEvent.ACTION_DOWN) {
if (scrollView.onTouchEvent(event)) {
// event was handled by the view
return false;
} else {
// do something
return true;
}
}
return false;
}
});
正如您所看到的,我对运动事件的运作方式并不了解。