实习笔记-16
Android View绘制流程
performTraversals()
获取Surface对象,performMeasure-丈量View树的各个view的大小,performLayout-对整个视图树进行布局,performDraw,对视图树进行绘制
源码解析
- 第一阶段,确定activity的宽高
1
2
3
4
5
6
7
8
9if(Activity窗口是第一次被请求执行测量、布局和绘制操作){
if(如果窗口的类型是有状态栏的){
Activity窗口所需要的宽度和高度就是除了状态栏;
}else{
Activity窗口所需要的宽度和高度就是整个屏幕的宽高;
}
}else{
Activity窗口的宽高为frame成员变量中的保存的上一次测量、布局和绘制时的值;
}
排序
中文按照拼音排序
1 | list.sortBy { |
1 | Comparator cmp = Collator.getInstance(java.util.Locale.CHINA); |
VectorDrawable
merge标签
将merge下的所有view直接添加到根标签下