如何设置通过java代码动态创建的列表视图的高度?

时间:2011-09-26 12:14:28

标签: java android

我正在尝试动态设置通过java代码创建的listview的高度。我在滚动视图中使用3个列表视图(一个在另一个下面)(以避免隐藏列表)。如果我使用滚动视图,我无法看到listviews的所有列表项。是否有任何想法通过android中的java编码设置这3个列表视图的高度?任何帮助都非常感谢,并提前感谢...

1 个答案:

答案 0 :(得分:3)

不要将ListView放在ScrollViews中!详细信息来自Listview开发人员的信息可在演讲World of ListViews

中找到

可以使用layoutWeight参数使三个ListView共享屏幕上的空间。

制作这样的布局(你也可以使用代码):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:id="@+id/listView1" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1"></ListView>
<ListView android:id="@+id/listView2" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1"></ListView>
<ListView android:id="@+id/listView3" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1"></ListView>
</LinearLayout>

此处每个ListView占用可用空间的三分之一(所有权重设置为1)。

要在代码中设置layoutWeight,请使用此行作为示例:

listview1.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1f));