Если вам нужно вызывать onCreate каждый раз, когда ориентация меняется, позиция сбрасывается.Вы можете избежать этого, добавив ориентацию, измененную в манифест, но не уверены, что текущее состояние прокрутки не повреждено.Я исследовал его пару дней назад. Если ваш интерфейс имеет стандартные размеры для каждой ориентации, вы можете найти уравнение, выбрав много значений прокрутки.
Создайте карту с помощью getScrollY () со значениями ландшафта и портрета.который отображает тот же текст.Чем больше ценностей, тем лучше.Затем используйте полиномиальную интерполяцию, чтобы создать полиномиальное уравнение, используя matlab или papper.Больше значений -> больше точности http://en.wikipedia.org/wiki/Polynomial_interpolation
также необходимо выполнить прокрутку до позиции
hoz_scroll.post(new Runnable() {
public void run() {
scroller.scrollTo(hoz_x_pos,hoz_scroll.getScrollY());
}
});