View树的绘制流程:

measure()  -->  layout() --> onDraw(),具体使用这个可以参考之前实现的自定义的博客:【http://www.cnblogs.com/webor2006/p/7525979.html

measure():

其整个绘制过程如图下:

其它涉及到以下几个重要的参数:

其涉及到以下几个重要的方法:
①、measure:

而接着它会调用下面的方法,如下:

②、onMeasure:

③、setMeasuredDimension():

layout():

这个跟measure流程差不多,也是自上而下进行遍历,如下:

draw():

有了前两个过程,接下来就可以进行绘制啦,这里需要强调两个比较容易混淆的方法:

  • invalidate();它会引起重绘,也就是draw()方法。
  • requestLayout();它只会引起重新测量,不会导致draw()方法重新触发。

最新文章

  1. Sublime3 快捷键
  2. ASP.NET MVC3升级到ASP.NET MVC4 的方法
  3. UIcollectionView的使用(首页的搭建4)
  4. 浅谈PHP代码设计结构
  5. HTTP之I/O模型图MPM详细解析
  6. WebIM(4)----Comet的特殊之处
  7. TypeScript设计模式之解释器
  8. Zookeer-- 上搭建 hbase
  9. [微信小程序] 通过快速启动demo分析小程序入门关键点
  10. c++ protobuf序列化
  11. Linux下编译安装Lnmp
  12. 1.深入分析_NIO性能分析
  13. bzoj2656 数列
  14. 编程之美 set 13 光影切割问题
  15. 获得Python脚本所在目录
  16. hash一致性算法
  17. string.Format("rspauth={0}",
  18. 推荐软件7 taskbar numberer,结果get了WIN相关的快捷键
  19. 【数论】bzoj1968 [Ahoi2005]COMMON 约数研究
  20. 主流数据文件类型(.dat/.txt/.json/.csv)导入到python

热门文章

  1. SQL易错锦集
  2. 【并行计算-CUDA开发】CUDA线程、线程块、线程束、流多处理器、流处理器、网格概念的深入理解
  3. day33 网络编程之UDP与进程了解
  4. shell sed 替代1
  5. MySQL_bigint(20) 是什么意思?
  6. Java中的责任链设计模式,太牛了!
  7. XXLJOB2.1.0数据源配置踩坑记录
  8. idea快捷生成
  9. Spring实战(七)Bean 的作用域
  10. 03docker镜像