美文网首页
自定义View

自定义View

作者: 6a9ae66af426 | 来源:发表于2017-12-25 09:54 被阅读0次

View的三大流程: measure,layout,draw。

measure过程决定了View 的宽高,Measure 完成后,可以通过 getMeasuredWidth() 和 getMeasuredHeight() 的方法来获取到View测量后的宽高,几乎所有情况下他都等同于View最终的宽高,(特殊情况除外)。

layout过程决定了View的四个顶点的坐标和实际View的宽高。完成以后,可以通过getTop,getBottom,getLeft,getRight来拿到View的四个顶点位置,并且可以通过getWidth,getHeight方法拿到View的最终宽高,

draw过程决定了View 的显示,只有draw方法完成以后View的内容才能呈现在屏幕上。

对于直接继承自View和ViewGroup的控件,padding是默认无法生效的,需要自己调整的,而margin是生效的,这是因为margin属性是由父容器控制的。

相关文章

网友评论

      本文标题:自定义View

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