我有自动滚动的TextView,它永远循环。加上用户可以自己滚动TextView。因此,当用户完成滚动时,我想要自动滚动器继续从用户滚动的位置滚动。
所有问题都是获得正确的变量mXPaused
值。
一开始mXpaused = -1*getWidth();
所以它从左侧开始滚动。
用户完成滚动后,我尝试分配新值
case MotionEvent.ACTION_UP:
mXPaused = mSlr.getCurrX();
resumeScroll();
break;
但该值始终等于-540
(我的屏幕宽度)
public void resumeScroll() {
mSlr.startScroll(mXPaused, 0, distance, 0, duration);
}
用户滚动:
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
// TODO Auto-generated method stub
scrollBy((int)distanceX, 0);
return true;
}
答案 0 :(得分:0)
mXPaused
应为0,而不是mXpaused = -1*getWidth()
。
尝试使用getScrollX()
代替getCurrX()
,尝试获取滚动位置时遇到了类似的问题。