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