android布局动态宽度的listviews

时间:2013-08-14 16:01:16

标签: android xml listview layout width

在我的布局中,我有5个列表视图彼此相邻,并希望它们一起匹配屏幕大小,以便每个人的宽度为屏幕宽度的1/5。匹配父项不起作用,因为每个列表视图都与屏幕一样大。

实际上我用这个:

<ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/scrollView"
            android:layout_marginTop="25dp">

        <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                >

            <ListView
                    android:layout_width="95dp"
                    android:layout_height="700dp"
                    android:id="@+id/listView2"
                    android:layout_gravity="center_horizontal|top"/>

            <ListView
                    android:layout_width="95dp"
                    android:layout_height="700dp"
                    android:id="@+id/listView3"
                    android:layout_gravity="center_horizontal|top"/>

            <ListView
                    android:layout_width="95dp"
                    android:layout_height="700dp"
                    android:id="@+id/listView4"
                    android:layout_gravity="center_horizontal|top"/>

            <ListView
                    android:layout_width="95dp"
                    android:layout_height="700dp"
                    android:id="@+id/listView5"
                    android:layout_gravity="center_horizontal|top"/>

            <ListView
                    android:layout_width="95dp"
                    android:layout_height="700dp"
                    android:id="@+id/listView6"
                    android:layout_gravity="center_horizontal|top"/>

        </LinearLayout>
    </ScrollView>

但这当然不适用于不同的屏幕尺寸。

2 个答案:

答案 0 :(得分:1)

不要永远ListView放在ScrollView内,不管怎样你就是这样做的:

<LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

        <ListView
                android:layout_width="0dp"
                android:layout_height="fill_parent" android:layout_weight="20"
                android:id="@+id/listView2" />

        <ListView
                android:layout_width="0dp"
                android:layout_height="fill_parent" android:layout_weight="20"
                android:id="@+id/listView3" />

        <ListView
                android:layout_width="0dp"
                android:layout_height="fill_parent" android:layout_weight="20"
                android:id="@+id/listView4" />

        <ListView
                android:layout_width="0dp"
                android:layout_height="fill_parent" android:layout_weight="20"
                android:id="@+id/listView5" />

        <ListView
                android:layout_width="0dp"
                android:layout_height="fill_parent" android:layout_weight="20"
                android:id="@+id/listView6" />

    </LinearLayout>

答案 1 :(得分:0)

android:weightSum="5"添加到LinearLayout并将android:layout_weight="1"添加到每个ListView。您可能需要将宽度设置为0.

我也不建议将ListView放在ScrollView内。