我遇到了ScrollView的问题,它在底部留下了一个空白区域。它充满了几个TextViews和GridViews,应该填充整个RelativeLayout父级。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context=".showPictures">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView.../>
<GridView.../>
...
</LinearLayout>
</ScrollView>
</RelativeLayout>
有人知道什么是错的吗?
使您的相对布局高度与父级匹配,也可以在滚动视图中使用android:fillViewPort =“true”
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".showPictures">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
//...
您可以使用此代码来避免滚动视图底部的额外填充:
android:overScrollMode="never"
在我的情况下,我在ScrollView中有一个导致此问题的GridView。结果是GridLayout中的layout_gravity因为“中心”导致了这个问题。
无论如何,'center_horizontal'对于ScrollView更有意义,但是在原始布局完成后(使用'center')我添加了ScrollView,当我看到元素在某些设备上离屏时,因此问题。
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" // having this as android:layout_gravity="center" causes extra space at bottom!
android:columnCount="2">
....
为滚动视图中的每个子项赋予权重,包括值为1的线性布局