我想在同一个用户界面中使用多个ListView
/ ;GridView
我不希望它们被扩大到全长并放在ScrollView
.
4 回答
您可以根据需要设置布局以包含多少个 listViews 和 gridViews。只需选择一个布局并自己设置它们的尺寸。如果你把它们放在一个线性布局中,你可以为它们中的每一个设置一个权重,使它们的宽度/高度与布局的宽度/高度成比例。
但是,请注意,您放置的越多,UI 就越混乱。
另请注意,Google 建议永远不要将 listViews 和 gridViews 放在 ScrollViews 中(这是在“listView 的世界”讲座中谈到的)。
只需为您的ListView
/指定GridView
并非全部的尺寸match_parent
。
此外,如果您想按比例将可用高度的 50% 和 50% 分配给列表和网格,请将它们放在 a 中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>
我不认为将多个ListView
/GridView
对象放入ScrollView
其中是一个好主意。
ListView
/的最大优点GridView
是它们可以重用View
's。当您滚动时ListView
,系统真正做的是使用固定数量的视图,并交换视图设置(文本、图像源等)。这是通过getView(int,View,ViewGroup)
从列表中请求方法来完成的Adapter
。
您要做的是强制ListView
/GridView
呈现它的所有原始内容,这几乎超出了首先使用ListView
/的全部目的。GridView
LinearLayout
在里面使用ScrollView
,然后Views
从你的Activity
/Fragment