Подтвердить что ты не робот

ANDROID: разделить экран на 2 равных части с 2 списками

Я пытаюсь поместить 2 списка в мой макет. Проблема в том, что я заранее не знаю размер каждого списка. Первый список может иметь несколько элементов (от 0, 1, 2 до примерно 10), а во втором списке может быть много элементов (до 100).

Я попытался установить вес обоих списков в 1, но он не сработал:

= > Если в первом списке есть только 1 элемент, а второй - 99, вы не видите первый элемент списка # 1 = > он так сильно сокращается (относительно списка 2), который вы не видите он.

Итак, теперь я собираюсь разделить экран на 2 равных части (независимо от того, что/независимо от размера каждого списка) и поместить два списка в каждую часть. Конечно, он должен работать на любом устройстве... так как я могу захватить размер экрана устройства, разделить его на две части и заставить размер списка просматривать в каждой половине экрана?

Кто-нибудь уже это сделал? Есть ли еще одна опция для отображения двух списков разного размера на одном макете (должен ли я использовать scrollview каким-то образом? = > Когда пользователь достигает конца первого списка, появляется второе представление list = > возможно? )

Спасибо за помощь и любое предложение...

Hubert

4b9b3361

Ответ 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" - я уверен, что вы найдете подходящий