ScrollView, который не отображает невидимые виды

Я пытаюсь сократить время, необходимое для заполнения элементов в ScrollView. Если я жестко запрограммирую высоту (конечно, не в пикселях) каждого RelativeLayout в LinearLayout в другом LinearLayout в ScrollView... могу ли я заставить ScrollView сначала отображать видимые, а затем, когда они отображаются, загружать остальные потом? ScrollView должен начинаться с прокрутки в определенное место, а не только в верхнюю часть экрана. Теперь, если нам нужно загрузиться сверху, это нормально, потому что примерно одна треть находится над видимой областью, а остальные — ниже.


person 700 Software    schedule 22.01.2011    source источник


Ответы (1)


Вы можете использовать ViewStub для добавления дополнительных элементов только тогда, когда вам это нужно, но похоже, что вы описываете то, что ListView уже делает.

person Romain Guy    schedule 22.01.2011
comment
+1, у меня тоже сложилось впечатление, что здесь нужен ListView. - person Vit Khudenko; 22.01.2011
comment
ViewStub работает в ScrollView, если он является дочерним элементом ViewGroup с фиксированным размером. Кроме того, разработчик должен определить, когда выполнять рендеринг. Это не автоматически. ListView работает, но в моем случае были дополнительные чертежи и разная высота (хотя они были фиксированными, они не были одинаковыми), и было больше кнопок сверху и снизу. Возможно, я мог бы заставить ListView работать. Я должен был сделать каждое представление более эффективным (я использовал вложенные рисуемые фоны вместо вложенной ViewGroup) и изменить приложение, чтобы оно могло отображать меньше, чем было загружено. Каждая ViewGroup добавляет к требуемому процессорному времени. - person 700 Software; 25.01.2011