AndroidScrollRuler icon indicating copy to clipboard operation
AndroidScrollRuler copied to clipboard

在滑动停止后,我不想跳到那个大节点,想跳最近的小节点。请问该怎么处理呢

Open kuangyliang opened this issue 5 years ago • 2 comments

在滑动停止后,我不想跳到那个大节点,想跳最近的小节点。请问该怎么处理呢

kuangyliang avatar May 19 '20 06:05 kuangyliang

/** * 滑动停止之后重新定位 */ public void scrollFinish() { int finalX = mScroller.getFinalX(); int centerPointX = mRulerHelper.getCenterPointX(); int currentX = centerPointX + finalX; int scrollDistance = mRulerHelper.getScrollDistance(currentX); if (0 != scrollDistance) { //第一个参数是滚动开始时的x的坐标 //第二个参数是滚动开始时的y的坐标 //第三个参数是在X轴上滚动的距离, 负数向右滚动. //第四个参数是在Y轴上滚动的距离,负数向下滚动. mScroller.startScroll(mScroller.getFinalX(), mScroller.getFinalY(), -scrollDistance, 0, 300); invalidate(); if (scrollSelected != null) { scrollSelected.selected(getCurrentText()); } } } 需要在第三行更改源码, mRulerHelper.getCenterPointX();,具体的逻辑就是 写一个方法返回最近的小节点的坐标。

WangcWj avatar Jun 30 '20 10:06 WangcWj

具体怎么修改呢

zl000zl avatar May 14 '24 07:05 zl000zl