我有一个带有 HScroll 和 VScroll 的 TableLayout,所以我可以向各个方向滚动。对于这个可滚动的布局,我使用了:Scrollview vertical and Horizontal in android。这使用了一个 onTouchEvent。
我的 TableLayout 中有带有 onClickListener 的项目。
当我在表格中滚动并使用 onClickListener 触摸项目时,滚动不起作用。当我单击该项目时,onClickListener 工作正常。但我也想在使用移动手势时滚动这些项目。
如何解决 onTouchEvent 和 onClickListener 之间的冲突?
这是我的 onTouchEvent:
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
if(true) {
mx = event.getX();
my = event.getY();
}
break;
case MotionEvent.ACTION_MOVE:
if(true) {
curX = event.getX();
curY = event.getY();
vScroll.scrollBy((int) (mx - curX), (int) (my - curY));
hScroll.scrollBy((int) (mx - curX), (int) (my - curY));
mx = curX;
my = curY;
}
break;
case MotionEvent.ACTION_UP:
if(true) {
curX = event.getX();
curY = event.getY();
vScroll.scrollBy((int) (mx - curX), (int) (my - curY));
hScroll.scrollBy((int) (mx - curX), (int) (my - curY));
}
break;
}
return true;
}