如何在同一个UI中使用多个ListView / GridView?

时间:2013-08-28 13:34:15

标签: android android-listview android-gridview android-scrollview

我想在同一个用户界面中使用多个ListView / GridView;我不希望它们扩展到全长并放在ScrollView下。

4 个答案:

答案 0 :(得分:0)

如果您想了解ListView,这里有一个很好的tutorial。关于您的问题,here是类似的问题!您的问题甚至可能与此重复。

答案 1 :(得分:0)

我认为在ListView中放置多个GridView / ScrollView个对象不是一个好主意。

ListView / GridView的最大优势在于它们重用了View。当您滚动ListView时系统真正做的是使用固定数量的视图,并交换视图设置(文本,图像源等)。这是通过从列表getView(int,View,ViewGroup)中请求Adapter方法来完成的。

您要做的是强制ListView / GridView呈现所有原始内容,这几乎击败了使用ListView / GridView的全部目的首先。

LinearLayout内使用ScrollView,然后从Views / Activity动态添加Fragment

答案 2 :(得分:0)

只需为ListView / GridView指定并非全部为match_parent的维度。

此外,如果您想按比例分配50%和50%的可用高度到列表和网格,请将它们放在LinearLayout中并使用layout_weight机制:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ListView
         android:layout_width="match_parent"
         android:layout_height="0px"
         android:layout_weight="1"
         ... />

    <GridView
         android:layout_width="match_parent"
         android:layout_height="0px"
         android:layout_weight="1"
         ... />

</LinearLayout>

答案 3 :(得分:0)

您可以根据需要设置布局以包含多少listView和gridView。只需选择一个布局并自己设置尺寸。如果你把它们放在linearLayout中,你可以为它们设置一个权重,使它们的宽度/高度与布局宽度/高度成比例。

但是,请注意,放置的越多,用户界面就越混乱。

另请注意,Google建议永远不要将listViews和gridViews放在ScrollViews中(这是关于“listView世界”讲座的讨论)。