让ScrollView不要占用太多高度

时间:2011-12-30 12:03:03

标签: android height scrollview

我试图阻止ScrollView在屏幕底部占用太多空间,因为它不会显示我的两个按钮。我也不想手动设置ScrollView的高度。

<LinearLayout
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical">
   <LinearLayout
      ...
      android:orientation="horizontal">
        <Button .../>
        <TextView .../>
        <Button .../>
   </LinearLayout>
   <ScrollView
      android:layout_width="math_parent"
      android:layout_height="wrap_content">
      <ImageView .../>
      <ImageView .../>
      <ImageView .../>
   </ScrollView>
   <LinearLayout
      ...
      android:orientation="horizontal">
        <Button .../>
        <Button .../>
   </LinearLayout>
</LinearLayout>

这是我的布局的通用版本。发生的事情是,无论有多少项,ScrollView都会一直延伸到屏幕的底部。这会导致屏幕底部的两个按钮不可见。

如何在不手动设置ScrollView高度的情况下阻止这种情况发生?

我已将android:layout_height="wrap_content"用于我的所有观看次数。

这不应该自动分配视图的高度以适应屏幕的高度吗?

(想要包含图片,但我的代表还不够高( - _ - ))

2 个答案:

答案 0 :(得分:2)

您是否尝试将layout_weight用于ScrollView。 IIRC,如果为一个元素设置了非零权重(并且相应的维度设置为0dp),则在为兄弟视图设置测量值之后,它将填充该维度中的剩余空间(在本例中为{在LinearLayout

的顶部和底部{1}}

道歉,没有一个Android环境需要检查,而且已经有一段时间了。

ScrollView

Here's an answer,其中包含有关layout_weight属性的更多信息。

答案 1 :(得分:2)

我今天解决这个问题的方法是使用RelativeLayout作为基础。将两个LinearLayout分别锚定到RelLayout的顶部和底部。然后我会插入ScrollView,但我会确保按如下方式设置它的布局属性:

android:layout_below="topLinearLayout" android:layout_above="bottomLinearLayout"