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

问题描述 投票:2回答:1

我想检测用户何时停止使用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);
}
android ontouchevent scroller
1个回答
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

快乐的编码!!

© www.soinside.com 2019 - 2024. All rights reserved.