类型:
-
View 和 ViewGroup两种
Android UI架构
View 的绘制
- Activity被创建时会创建View。
- 绘制是重根视图开始的,从上至下遍历视图树。
- ViewGroup负责让自己的子View被绘制,View负责绘制自己。通过onDraw()方法绘制。
- 整个绘制流程是从RootView的PerformTraversals()方法开始的。
-
绘制开始之前需要measure(测量)、layout(定位)。
Measure(测量)
测量类:
MeasureSpec ==》 32位int值,高两位为测量模式,后30位为测量的大小
测量模式:
1. EXACTLY: 精确值模式,当layout_width和layout_height的值为 具体数值或者match_parent时的模式。
2. AT_MOST:最大值模式,当layout_width 和 layout_height的值为wrap_content时的模式。
3.UNSPECIFIED:不指定测量模式。View想多大多大,
设置宽高的值
- 通过setMeasureDimension()方法来设置View的宽高。
获取宽高:
getWidth\height 和 getMeasureWidth\Height的区别:
Layout(定位)
- ViewGroup通过Layout(l,t,r,b)来设置View的位置