我试图阻止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"
用于我的所有观看次数。
这不应该自动分配视图的高度以适应屏幕的高度吗?
(想要包含图片,但我的代表还不够高( - _ - ))
答案 0 :(得分:2)
您是否尝试将layout_weight
用于ScrollView
。 IIRC,如果为一个元素设置了非零权重(并且相应的维度设置为0dp),则在为兄弟视图设置测量值之后,它将填充该维度中的剩余空间(在本例中为{在LinearLayout
。
道歉,没有一个Android环境需要检查,而且已经有一段时间了。
ScrollView
Here's an answer,其中包含有关layout_weight属性的更多信息。
答案 1 :(得分:2)
我今天解决这个问题的方法是使用RelativeLayout
作为基础。将两个LinearLayout
分别锚定到RelLayout的顶部和底部。然后我会插入ScrollView
,但我会确保按如下方式设置它的布局属性:
android:layout_below="topLinearLayout"
android:layout_above="bottomLinearLayout"