在android.widget.Scroller中检测滚动结束

时间:2019-03-18 13:35:41

标签: android ontouchevent scroller

我想检测基于onTouchEvent并检查MotionEvent.ACTION_UP的用户何时停止使用android.widget.Scroller滚动。当用户滚动一次时,它工作正常,但是当用户快速滚动以到达特定位置时,它表明用户滚动了很多次,尽管我想将其检测为一次滚动。我该如何实现?

@Override
public boolean onTouchEvent(MotionEvent event) {
    if(event.getAction() == MotionEvent.ACTION_UP) {
      if(mIsScrolling) {
        mIsScrolling = false;
        //
      }
    }
    mScaleDetector.onTouchEvent(event);
    return mGestureDetector.onTouchEvent(event);
}

1 个答案:

答案 0 :(得分:1)

您可以通过简单的数学来实现

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

处供参考

编码愉快!