我想检测用户何时停止使用android.widget.Scroller基于onTouchEvent检查MotionEvent.ACTION_UP来滚动。当用户滚动一次它工作正常但是当用户快速滚动到达特定位置时,它显示用户滚动了很多次但我想将其检测为一个滚动。我怎样才能做到这一点?
@Override
public boolean onTouchEvent(MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_UP) {
if(mIsScrolling) {
mIsScrolling = false;
//
}
}
mScaleDetector.onTouchEvent(event);
return mGestureDetector.onTouchEvent(event);
}
你可以通过简单的数学来做到这一点
getCurrX(), getCurrY() methods returns current offset position x and y of scroller respectively
同样
getFinalX(), getFinalY() methods returns current offset positions x and y of scroller respectively
所以
if(getCurrY() == getFinalY()) // true means you reached end of the scroller
供参考这里的文件Scroller
快乐的编码!!