栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

【高级UI】【001】Android控件绘制流程

Java 更新时间:发布时间: 百科书网 趣学号

流程图

整个流程的核心部分就是这样,理清了就不是很难,一张图足以说明全部问题


核心代码说明

对于没有耐心看完全部,或者只关心其中一两点的,可以只看文字部分

  • ViewRootImpl,它是一个连接ContentView和WindowManager的角色,控件绘制的任务,最先就是从它开始下发的
  • performMeasure,ViewRootImpl开始全局测量工作
  • performLayout,ViewRootImpl开始全局布局工作
  • performDraw,ViewRootImpl开始全局绘制工作
  • ViewGroup,容器类的View,可以容纳其它的View
  • measure,测量自身大小,不负责具体测量工作,只判断是否需要重新测量,是否需要使用缓存
  • onMeasure,测量自身大小,负责实际的测量工作,需要重新测量时,measure调用onMeasure来完成测量
  • measureChildren,测量所有子控件的尺寸,只有确定了子控件的尺寸,才能确定自己的尺寸
  • setMeasuredDimension,确定自己测量后的尺寸
  • layout,确定自己的布局位置
  • onLayout,确定所有子控件的布局位置
  • draw,绘制自身,只绘制背景、边框等非内容部分
  • onDraw,被draw调用来负责核心内容部分的绘制
  • dispatchDraw,分发绘制事件给子控件,只负责子控件绘制前的判断工作
  • drawChild,需要绘制子控件时,dispatchDraw调用此方法来绘制子控件
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/273831.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号