View的getMeasuredWidth/Height和get

作者: shangwfa | 来源:发表于2016-12-24 12:15 被阅读69次

    在我们去了解Android视图绘制的原理的时候,往往会看到这两个获取视图宽高的方法,那两者到底有什么不同?其不同可以从下面两点来理解:

    1.定义概念不同:前者指是View视图实际的宽高(包括被隐藏的部分);后者指的是视图显示的宽高。

    2.赋值时机不同:前者在View视图执行onMeasure后被赋值;后者是在视图执行了onLayout后被赋值。若在Activity的onCreate中取值,会发现其值一直为0。

    注:在一些极端的情况下,系统可能需要多次测量才能确定视图最终的宽高,在这种情况下,在onMeasure方法中得到的视图从测量宽度/高度可能是不准确的。

    一个比较好的习惯是在视图的onLayout方法中获取视图的measureWidth/height或width/height。

    相关文章

      网友评论

        本文标题:View的getMeasuredWidth/Height和get

        本文链接:https://www.haomeiwen.com/subject/vmvlvttx.html