ANDROID: разделить экран на 2 равных части с 2 списками
Я пытаюсь поместить 2 списка в мой макет. Проблема в том, что я заранее не знаю размер каждого списка. Первый список может иметь несколько элементов (от 0, 1, 2 до примерно 10), а во втором списке может быть много элементов (до 100).
Я попытался установить вес обоих списков в 1, но он не сработал:
= > Если в первом списке есть только 1 элемент, а второй - 99, вы не видите первый элемент списка # 1 = > он так сильно сокращается (относительно списка 2), который вы не видите он.
Итак, теперь я собираюсь разделить экран на 2 равных части (независимо от того, что/независимо от размера каждого списка) и поместить два списка в каждую часть. Конечно, он должен работать на любом устройстве... так как я могу захватить размер экрана устройства, разделить его на две части и заставить размер списка просматривать в каждой половине экрана?
Кто-нибудь уже это сделал? Есть ли еще одна опция для отображения двух списков разного размера на одном макете (должен ли я использовать scrollview каким-то образом? = > Когда пользователь достигает конца первого списка, появляется второе представление list = > возможно? )
Спасибо за помощь и любое предложение...
Hubert
Ответы
Ответ 1
Мне просто пришлось "инкапсулировать" мои 2 списка в 2 отдельные линейные вычисления = > эти 2 linearlayout имеют вес 1:
<LinearLayout android:layout_weight="1"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<ListView android:id="@+id/ListView_NASDAQ100"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
</ListView>
</LinearLayout>
<LinearLayout android:layout_weight="1"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<ListView android:id="@+id/ListView_from_52w_HIGHLOW"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
</ListView>
</LinearLayout>
Ответ 2
<LinearLayout
android:id="@+id/ListView_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="1" >
<RelativeLayout
android:id="@+id/rl_ListView1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.5" >
<ListView
android:id="@+id/lv1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_ListView2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.5" >
<ListView
android:id="@+id/lv2"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</RelativeLayout>
</LinearLayout>
Создайте родительский линейный макет, определите вес и разделите его на два разных относительных макета, каждый из которых равен половине общего веса, поскольку в относительном макете все управляется легко и правильно. Надеюсь, это сработает для вас.
Ответ 3
Попробуйте установить размеры в мягких пикселях (независимые от устройства) - например, "50sp" или "100sp" - я уверен, что вы найдете подходящий