ANDROID: разделить экран на две равные части с двумя списками просмотра - PullRequest
15 голосов
/ 19 октября 2010

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

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

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

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

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

Спасибо за вашу помощь и любые предложения ...

Hubert

Ответы [ 3 ]

20 голосов
/ 20 октября 2010

Мне просто нужно было "инкапсулировать" мои 2 списка в 2 отдельных линейных слоя = = эти 2 линейных вида имеют вес 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>
3 голосов
/ 05 ноября 2013
<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>

Создайте родительскую линейную компоновку, определите весовую сумму и разделите ее на две разные относительные компоновки, каждая из которых равна половине общей массы, потому что в относительной компоновке все легко и правильно управляется. Надеюсь, это сработает для вас

0 голосов
/ 19 октября 2010

Попробуйте установить размеры в мягких пикселях (не зависящих от устройства) - например, "50sp" или "100sp" - я уверен, что вы найдете подходящий

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...