Как выровнять первый видимый элемент ListView с вершиной LinearLayout? - PullRequest
1 голос
/ 18 октября 2011

Есть ли способ выровнять первый видимый элемент ListView (или если его видимая область меньше половины: выровнять второй элемент) по верхнему праву LinearLayout после того, как пользователь отпустит прокручиваемый щелчок?

IЯ пытаюсь сделать это, потому что это немного раздражает, когда я показываю только верхний элемент.

Я думаю, что если это решение существует, это будет что-то вроде анимации галереи, но я действительно не могув этом случае используйте галерею, потому что она должна быть вертикальной.

Есть идеи?

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 18 октября 2011

Вы можете использовать следующие функции ListView:

getFirstVisiblePosition () : Это даст вам первый видимый элемент.

getChildVisibleRect (просмотр дочернего элемента, Rect r, смещение точки) : Это даст вам видимый прямоугольник. за это мнение. Вы можете проверить ширину и высоту вида с видимой его частью. Затем решите, нужно ли вам показывать этот элемент или нет с помощью следующей функции.

requestRectangleOnScreen (Прямоугольный прямоугольник, непосредственное логическое значение) : Это приведет к тому, что представление внутри списка будет вытягиваться так, чтобы оно было полностью видимым.

Может быть, это поможет.

0 голосов
/ 18 октября 2011

Вы пытались установить для свойства android: smoothScrollbar значение false (по умолчанию это true).

Если задано значение false, список будет использовать только количество элементов в адаптере и количество элементов, видимых на экране, для определения свойств полосы прокрутки.

ДополнительноВы можете играть с android: fadingEdge и android: fadingEdgeLength , это может помочь без большого кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...