view的绘制流程大概要经历这么几个方法:onMesure()----onLayout()----onDraw()
onMeasure:测量子view的大小
getMeasuredWidth(),getMeasuredHeight()测量出view的宽高。
注意:要在view树绘制完成以后才能测量出宽高信息。
onLayout :对子view进行排版
在onLayout()里面用控件调用layout()去排版。
onDraw :画出控件
padding表示控件的内容相对控件的边缘的边距,paddingleft()表示的是控件里面的内容距离该控件左边缘的距离;
layout_margin表示控件边缘相对父控件的边距,marginleft()表示整个控件左边距离父控件左边缘的距离。
关于getleft(),getright(),gettop(),getbottom(),getWidth(),getHeight()这几个控件的关系是:
getRight() =getLeft() + getwidth()
getBottom()= getTop() + getHeight()
getWidth(),getHeight()是获取子view本身的宽高属性。
view的几何性质就是它所在矩形的几何性质。一个view的位置用一对left和top坐标表示,两个长度用width和height来表示。位置和长度的单位是像素。
通过调用getLeft()和getTop()可以得到一个View的位置。这两个方法返回的是相对于其父元素的位置,例如,如果getLeft()返回20,则表示它和其直接父元素的坐边界的距离是20像素。