如何拉伸UI元素以填充视图上的垂直空间?

时间:2011-08-30 23:02:38

标签: android

我的Android视图中包含三行或多段的布局。

第一个布局区域具有基于区域内容的固定高度,其中:layout_height =“wrap_content”。

下一个片段将包含一个ListView,它内置滚动功能,我希望这可以占用可用的屏幕空间。

最终片段将始终具有基于绝对值的固定高度或:layout_height =“32dp”。我希望这个第三段“停靠”到视图的底部。

作为参考,以下XAML实现了我想要的目标

<Grid>
   <Grid.RowDefinitions>
       <RowDefinition Height="auto" />
       <RowDefinition Height="*" />
       <RowDefinition Height="32" />
   </Grid.RowDefinisions>
</Grid>

这可以通过android布局XML吗?如果是这样,怎么办呢。

3 个答案:

答案 0 :(得分:5)

设置     机器人:layout_height = “FILL_PARENT”     机器人:layout_height = “match_parent” 要么     机器人:layout_weight = “1”。

后者将占用其父布局中剩余的所有未使用空间,前者有时会强制其他元素不在视野范围内。

答案 1 :(得分:2)

这绝对是可能的。您可以采用多种方式,我认为最简单的方法就是使用LinearLayout。类似的东西:

<LinearLayout layout_height="fill_parent">
    <firstitem layout_height="wrap_content" layout_width="fill_parent" />
    <ListView layout_height="fill_parent" layout_width="fill_parent" />
    <bottomitem layout_height="32dp" layout_width="fill_parent" />
</LinearLayout>

使用dp而不是spsp通常用于字体大小,dp用于其他所有内容。

顺便说一句,这是一个很好的guide,可以帮助您开始使用常见的布局对象。

答案 2 :(得分:0)

您是否尝试过layout_width =“fill_parent”?