Предположения о списке (обновлено):
- Он будет не содержать более 10 элементов списка (элементы списка определяются макетом xml ниже).
- Высота каждого элемента неизвестна, поскольку элемент списка содержит
LinearLayout
, который может иметь до 20 дочерних представлений (см. Xml ниже).
XML-макет элемента списка:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation:"horizontal">
<!--
This LinearLayout is going to contain one or more
Views which will be added progammatically on runtime.
The number of children views added to it depend on the
data to be displayed, and the only assumption that can
be made is that there's will be no more than 20 child
views for one particular instance of this LinearLayout.
-->
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="25dp"/>
<ImageButton
android:layout_width="25dip"
android:layout_height="25dip"
android:layout_gravity="center|top"
android:layout_marginLeft="-25dp"/>
</LinearLayout>
Вопросы:
- Имеет ли смысл использовать
ListView
для макета с такой свободой
в его структуре (как выше), и все еще в состоянии использовать
convertView, переданный в ListView#getView(...)
?
- В качестве альтернативы, было бы неправильно помещать все элементы списка во внешний
LinearLayout
и поместить это в ScrollView
? Делая это, я бы не получил
кеширующие способности ListView
, но, возможно, это не было бы так тяжело, учитывая
предположения о списке? (см. топ). (есть какие-нибудь указатели о том, как сделать эту альтернативу похожей на ListView
? Я думаю о применении стандартных цветов и селекторов и т. Д.)