2013-04-30 112 views
0

我有自动滚动的TextView,这是永远循环。 Plus用户可以自己滚动TextView。所以当用户完成滚动我想自动滚动继续从位置滚动用户已经完成滚动。android scroller从当前位置滚动

所有问题都得到正确的变量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

mXPaused应该从0开始,如果你从最左侧开始,而不是mXpaused = -1*getWidth()

尝试使用getScrollX()而不是getCurrX(),我有类似的问题试图获取滚动位置。