Android 滚动视图不会填充父级 space
Android Scrollview Won't fill parent space
我有一个相对布局填满整个屏幕。我想在它的中间添加一个 scrollview 来包裹一堆内容,这样我就可以在显示软键盘时让它平移。但是,一旦我将其包装在滚动视图中,最底部的布局就会停止填充屏幕的其余部分。
这里是 XML 我把 ScrollView
注释掉了。
<include
android:id="@+id/top_bar_with_save_button"
layout="@layout/top_bar_with_save_button"/>
<FrameLayout
android:id="@+id/log_entry_title_frame"
android:layout_below="@id/top_bar_with_save_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/log_entry_title_frame"
android:layout_alignParentBottom="true">
<!--
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/log_entry_title_frame"
android:orientation="vertical"
android:background="#f00">
<!-- Lots of stuff in here -->
<EditText
android:id="@+id/log_entry_notes"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="8dp"
android:gravity="top|left"/>
</RelativeLayout>
<!--
</ScrollView>
-->
</LinearLayout>
看起来像这样:
但是一旦我从 ScrollView
中删除评论,它就会立即像这样压缩:
为什么会这样?我需要它填满屏幕上的整个 space,但我不知道发生了什么。谁能告诉我如何解决这个问题?谢谢!
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
... >
滚动容器的layout_height应该是"wrap_content".
您需要将 fillViewport="true"
属性添加到您的 ScrollView
标签。或者您可以使用 scrollView.setFillViewPort(true);
以编程方式添加它。否则,ScrollView
将换行到其子项的内容高度。
我有一个相对布局填满整个屏幕。我想在它的中间添加一个 scrollview 来包裹一堆内容,这样我就可以在显示软键盘时让它平移。但是,一旦我将其包装在滚动视图中,最底部的布局就会停止填充屏幕的其余部分。
这里是 XML 我把 ScrollView
注释掉了。
<include
android:id="@+id/top_bar_with_save_button"
layout="@layout/top_bar_with_save_button"/>
<FrameLayout
android:id="@+id/log_entry_title_frame"
android:layout_below="@id/top_bar_with_save_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/log_entry_title_frame"
android:layout_alignParentBottom="true">
<!--
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/log_entry_title_frame"
android:orientation="vertical"
android:background="#f00">
<!-- Lots of stuff in here -->
<EditText
android:id="@+id/log_entry_notes"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="8dp"
android:gravity="top|left"/>
</RelativeLayout>
<!--
</ScrollView>
-->
</LinearLayout>
看起来像这样:
但是一旦我从 ScrollView
中删除评论,它就会立即像这样压缩:
为什么会这样?我需要它填满屏幕上的整个 space,但我不知道发生了什么。谁能告诉我如何解决这个问题?谢谢!
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
... >
滚动容器的layout_height应该是"wrap_content".
您需要将 fillViewport="true"
属性添加到您的 ScrollView
标签。或者您可以使用 scrollView.setFillViewPort(true);
以编程方式添加它。否则,ScrollView
将换行到其子项的内容高度。