我的ScrollView的宽度和高度为fill_parent,我实现了SimpleOnGestureListener,如
scroller.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
gdt.onTouchEvent(event);
return true;
}
});
private class GestureListener extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
btnNextQuestion.performClick();
return true; // Right to left
}
return false;
}
}
并且此刻它仅在从右到左触摸时作出反应,当步长大于常数并且在垂直移动时不作出反应。要改变什么ScrollView作出反应(在垂直移动,滚动内容上有默认行为)?有人能帮助我吗?
答案 0 :(得分:1)
您总是从true
内的onTouch()
方法返回OnTouchListener()
,这意味着您已经消耗了该事件(执行实际滚动...),因此Android不会滚动视图。
要让Android处理滚动,只需从onTouch()
方法返回false
。