Есть ли способ определить текущее смещение прокрутки или положение прокрутки GridView?Смещение прокрутки GridView
View.getScrollY() // Underlying var is not updated during a scroll.
Я попытался установить в OnScrollListener но OnScroll обратного вызова не хорошо достаточно зернистой для моих целей.
Вот как я пытаюсь определить смещение прокрутки с помощью OnScrollListener.
private int getScrollY() {
int top = 0;
if (mGridView.getChildCount() > 0) {
final View firstView = mGridView.getChildAt(0);
top = firstView.getTop();
}
return top;
}
Проблема с этим кодом заключается в том, что возвращаемое смещение y неточно при прокрутке вверх; верхний вид рециркулируется и, следовательно, смещение y, кажется, скачкообразно;
Есть ли хороший способ расчета смещения прокрутки GridView? Кажется, я не могу найти хорошее решение.
О, спасибо, что ответили на это! Я сам забыл ответить на него, выяснив это. – mdupls
@mdupls Это, кажется, дает правильное смещение Y. Но какую функцию вы используете, чтобы установить Gridview на такое же смещение? Я пробовал немало и не могу получить правильные результаты. Всегда попадайте в разные положения. Я предполагаю, что это не так просто, как я думал. –
gridview.smoothScrollToPosition (int index) – mdupls