Как получить смещение представления внутри ScrollView?

Существует ScrollView и у которого много дочерних представлений. Есть ли способ получить смещение-y вверху ScrollView для каждого ребенка?


person Freewind    schedule 14.10.2012    source источник


Ответы (1)


Хмммм, не уверен, что это самый быстрый и лучший способ сделать это, но если вы получите местоположение представления на экране и знаете верхнюю часть ScrollView, вы можете вычислить смещение представления относительно ScrollView. Чтобы получить положение представления на экране:

int[] location = {0,0};
view.getLocationOnScreen(location);

location[1] имеет значение Y. Вы получите отрицательные значения, когда вид находится «над» окном просмотра.

person dmon    schedule 14.10.2012
comment
Что вы имеете в виду в верхней части ScrollView? расположение ScrollViewOnScreen? - person dannyroa; 28.10.2014
comment
когда программная клавиатура открыта, местоположения меняются. Любая идея, как получить относительное смещение? - person Atmaram; 13.01.2015
comment
Не помогает ОП, если view за пределами экрана. - person zyamys; 04.03.2015