ScrollView的子View的match_parent问题

1,013 阅读1分钟

问题

最近在项目中遇到在ScrollView设置子View的高度为match_parent不起作用。
ImageView已经将图片设置成match_parent,但ScrollView却将图片改成wrap_content,布局如下:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ImageView
            android:id="@+id/iv_baby_nipple"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:src="@mipmap/baby_nipple"/>

    </LinearLayout>

</ScrollView>

解决方法

添加ScrollView的属性:

android:fillViewport = "true"

在ScrollView源码中有这样一个变量:

private boolean mFillViewport;
如果将该变量设置成true,则ScrollView将会测量子View,使其填满当前可见区域