测量还没有绘制好的布局的高度,手动测量

下拉刷新要隐藏就要先测量下拉刷新的布局高度再把值设给padding,但是如果我们都写到initview里 那么listview还有它的头布局都还没有初始化.....我打印了一下 用getheight获得的高度都是0.

那么怎么办呢 ,想到自定义控件里measure方法用来测量,measure的时候控件也没有初始化啊,所以我调用了measure方法来获取告诉 设置padding

我知道下拉刷新有框架 但是我自己试试我就知道原理了不是,作为一个菜鸟要先绕远路再走捷径

        mHeaderView.measure(0, 0);// 手动测量布局
        mHeaderViewHeight = mHeaderView.getMeasuredHeight();// 测量之后的高度
        // 隐藏头布局
        mHeaderView.setPadding(0, -mHeaderViewHeight, 0, 0);

 

原文地址:https://www.cnblogs.com/AceIsSunshineRain/p/5189127.html