0

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

1 に答える 1

0

mXPausedではなく、左端から開始する場合は 0 にする必要がありますmXpaused = -1*getWidth()

getScrollX()の代わりに使用してみてくださいgetCurrX()。スクロール位置を取得しようとして同様の問題が発生しました。

于 2013-09-11T15:41:43.203 に答える