我想在android中为ScrollView设置50%的屏幕高度,为ListView设置50%的屏幕高度。防止Android ListView占用几乎所有的屏幕高度
要做到这一点,我已经把每个的权重设置为“1”。
这样的:
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dip">
<ScrollView android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1">
<TableLayout android:id="@+id/my_table"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:shrinkColumns="0">
<TableRow android:padding="5dip"
android:id="@+id/fault_heading"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/table_title"
android:paddingRight="20dip"/>
</TableRow>
<!-- More rows are added at run time. -->
</TableLayout>
</ScrollView>
<ListView android:id="@+id/comments"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"></ListView>
</LinearLayout>
当两个滚动型和ListView中有太多的内容显示不滚动这个完美的作品。
当ScrollView只需要20%的屏幕和ListView需要70%的ListView增长到70%,因此它可以不滚动显示。这不是我预期会发生的,但是很好。
我遇到的问题是,当ListView有这么多的数据,它需要整个屏幕显示和滚动视图只有1或2行数据。在这种情况下,ListView增长几乎占据了整个高度,并留下相当于滚动视图的大约一行文本的空间。
我似乎无法得知我的头如何保留ScrollView的一定比例的屏幕,无论ListView有多大。
p.s. ScrollView可以抓取的空间量似乎与其子表中的行数成正比。当这只有1时,滚动视图只有大约半厘米的高度。
我不知道这是怎么回事为了解决这个问题,但是你不需要两个'LinearLayout'封装两个内部视图(权重在'LinearLayout'的任何子节点中工作),我会尝试将根布局的高度设置为'fill_parent'。 – bigstones 2011-03-01 15:37:22
感谢您的信息。删除违规布局。但你说得很对,这并不能解决问题。 – rpcutts 2011-03-01 16:12:14
你可以编辑这个问题来使用你的新布局吗? – 2011-03-01 16:17:07