我有一个相对视图,它有两个孩子,一个滚动视图和一个下面的按钮现在我想这样做:我希望这个视图包装它的内容,不会空白空间,也不会超过屏幕大小。 我怎样才能做到这一点?任何人都可以帮忙吗?
这是我当前的布局文件无效。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ScrollView
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content">
....
</ScrollView>
<Button
android:id="@+id/action"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/content"
... />
</RelativeLayout>
答案 0 :(得分:2)
RelativeLayout
没有这种可能性。但是LinearLayout
会这样做。只需将LinearLayout
的{{1}}设置为android:orientation
,将vertical
的{{1}}设置为ScrollView
,它应该正常工作:
android:layout_weight
答案 1 :(得分:0)
您应该使用LinearLayout并根据权重调整两个视图。这样,它不会超过任何分辨率,并会根据屏幕大小进行调整。
<LinearLayout
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<ScrollView
android:fillViewPort="true"
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="4"
</ScrollView>
<Button
android:id="@+id/action"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_below="@id/content"
... />
</LinearLayout>
答案 2 :(得分:0)
您应该在底部对齐操作按钮,该滚动视图应位于该按钮上方。通过这种方式,滚动视图将始终显示在屏幕中,并且按钮也将可见。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/action"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
... />
<ScrollView
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_above="@id/action"
android:layout_height="match_parent">
....
</ScrollView>
</RelativeLayout>