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

标签 android touch-event scroller

我想根据检查 MotionEvent.ACTION_UP 的 onTouchEvent 使用 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);
}

最佳答案

你可以通过简单的数学计算得出

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

关于android - 在 android.widget.Scroller 中检测滚动结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55222636/

相关文章:

android - glReadPixels 失败,格式为 GL_ALPHA

android - 无法解析 : com. google.android :flexbox:1. 1.0

Android GestureDetector 无法使用 FrameLayout 检测到 onScroll 事件

javascript - iFrame 中的触摸事件在 iOS 上不起作用

javascript - 简单的自定义 JavaScript 滚动条

java - 菜单项中的 OnActionExpandListener 不起作用。如何解决?

android - 在 android 设备中使用 neo4j

android - 在 Gingerbread 中实现拖放

javascript - jquery tablesorter 滚动条高度