私は永遠にループしている自動スクロールを備えた 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;
}