Последний элемент ListView выровнен по низу

Я хотел бы, чтобы последний элемент listView был выровнен по низу. Если в списке от 1 до нескольких элементов, между последним элементом и предпоследним элементом должен быть пробел. В случае, если элементов много (они не помещаются в список, показывается прокрутка), список должен вести себя нормально. Я попытался сделать так, чтобы, когда список состоит из небольшого жестко закодированного числа (6) элементов (или меньше), последний элемент был отдельным представлением, выровненным по нижней части родительского элемента listView. Когда есть больше элементов, я устанавливаю видимость этого представления в GONE и добавляю такое же представление в listView. Работало нормально, но не на всех устройствах. В одних помещается 6 предметов, в других — 7.

Есть ли способ выровнять последний элемент по нижней части listView (чтобы listView всегда имел ту же высоту, что и его родитель)?


person MaciejGórski    schedule 21.06.2011    source источник


Ответы (1)


Возможно, самый простой способ реализовать это — просто добавить последний элемент в качестве нижнего колонтитула, используя добавитьFooterView

person Mojo Risin    schedule 21.06.2011
comment
это не создает разрыва между представлениями элементов и представлениями нижнего колонтитула; это только для того, чтобы вы могли иметь дополнительные представления, неуправляемые адаптером в нижней части списка, но если список содержит только несколько элементов, список по-прежнему имеет высоту суммы всех дочерних элементов и разделителей. - person MaciejGórski; 21.06.2011
comment
Если вы установите высоту списка в fill_parent. - person Mojo Risin; 21.06.2011
comment
Тем не менее это не работает. ListView, кажется, игнорирует fill_parent и вместо этого использует его дочерние элементы для вычисления своей высоты. - person MaciejGórski; 21.06.2011