Перед запуском таймера установите:
scrollPos= scrollMax;
Затем используйте эту функцию moveScrollView:
public void moveScrollView(){
scrollPos = (int) (horizontalScrollview.getScrollX() - 1.0);
if(scrollPos <= 0){
scrollPos = scrollMax;
}
horizontalScrollview.scrollTo(scrollPos, 0);
}
Для расчета ширины содержимого горизонтальной прокрутки:
protected void onCreate(Bundle savedInstanceState)
{
...
horizontalScrollview= (HorizontalScrollView) findViewById(R.id.hsv);
ViewTreeObserver vto = horizontalScrollview.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
horizontalScrollview.getViewTreeObserver().removeGlobalOnLayoutListener(this);
scrollMax= horizontalScrollview.getChildAt(0).getMeasuredWidth()-getWindowManager().getDefaultDisplay().getWidth();
}
});
}