Как разместить два или более списка на одном макете? - PullRequest
2 голосов
/ 24 февраля 2011

Я пробовал этот код:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical" android:layout_width="fill_parent"
     android:layout_height="fill_parent">

     <LinearLayout android:orientation="horizontal"
          android:layout_width="fill_parent" 
          android:layout_height="fill_parent"
          android:layout_weight="1">

          <ListView 
                android:id="@+id/List1" 
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" 
                android:layout_weight="1" />

          <ListView 
                android:id="@+id/List2" 
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" 
                android:layout_weight="1" />

          <ListView 
                android:id="@+id/List3" 
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" 
                android:layout_weight="1" />

          <ListView 
                android:id="@+id/List4" 
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" 
                android:layout_weight="1" />
     </LinearLayout>
</LinearLayout>

Безуспешно. Это работает, но я не хочу делить экран x для всех списков, я хочу расширить width каждого списка и сделать возможным прокрутку по оси x ... Кто-нибудь знает, могу ли я это сделать?

1 Ответ

4 голосов
/ 24 февраля 2011

Это возможно. В вашем случае это не работает, потому что для android:layout_width установлено значение fill_parent, поэтому первый макет займет все доступное пространство. Попробуйте дать android:layout_weight="1" каждому ListView. И удалите внутренние LinearLayouts, которые не нужны.

Это сработало для меня:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="horizontal"
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"
     android:layout_weight="1">

     <ListView 
          android:id="@+id/List1" 
          android:layout_width="fill_parent"
          android:layout_height="fill_parent" 
          android:layout_weight="1" />

     <ListView 
          android:id="@+id/List2" 
          android:layout_width="fill_parent"
          android:layout_height="fill_parent" 
          android:layout_weight="1" />
</LinearLayout>

Я просто взял ваш код и удалил два представления списков:

enter image description here

...