ScrollView match_parent不起作用

昨天在项目中遇到一个以前没遇到过的问题,就是ScrollView的match_parent不起作用了。所以记录一下

开始的时候我的布局是:

<ScrollView 
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        ...same view
    </LinearLayout>
</ScrollView>

LinearLayout里面嵌套的布局高度写死了,刚好是铺满整个屏幕的,所以这样写没什么问题然而,昨天设计要改一下效果图,需要将LinearLayout里面的布局的高度写成wrap_content的,这是就出现了问题,发现现在的布局叠加了,根本没有铺满全屏!!!OMG当时蒙圈了...

开始一直怀疑是布局写的有问题,然后接下来的半个小时一直在改布局然并卵啊,怎么改布局还是不能铺满全屏!!!所以google了一下,发现了ScrollView的**android:fillViewport="true"**这个属性。把它加上,哇~~铺满全屏了,好开心...到这并没有结束,我们要搞明白这个属性是干啥子用的。源码中的注释:

/** 
  * When set to true, the scroll view measure its child to make it fill the currently
  * visible area. */
@ViewDebug.ExportedProperty(category = "layout")
private boolean mFillViewport;

这个属性如果设置为true,ScrollView就会测量它的子view,使它的子view填充当前的可见区域

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容