У меня есть 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;
}