View:
1、draw
//绘制一个View以及他的子View。最好不要覆写该方法,应该覆写onDraw方法来绘制自己。
public void draw(Canvas canvas);

public void draw(Canvas canvas) {  
    1、绘制 backgroud(drawBackground)  ;  
    2、如果需要的话,保存canvas的layer,来准备fading ;  
    3、绘制view的content(onDraw方法);  
    4、绘制children(dispatchDraw方法);  
    5、如果需要的话,绘制fading edges,然后还原layer ;  
    6、绘制装饰器、比如scrollBar(onDrawForeground);  
}  

2、onDraw

//绘制一个View的外观。View的默认实现是空实现,所以这里没有源码给出。

protected void onDraw(Canvas canvas);

ViewGroup:
1、dispatchDraw
/** 绘制子View,View类是空实现,ViewGroup类中有实现 */
protected void dispatchDraw(Canvas canvas);

protected void dispatchDraw(Canvas canvas) {  
    if (需要绘制布局动画) {  
    for (遍历子View) {  
        绑定布局动画;  
    }  
    启动动画控制,通知动画开始;  
    }  
  
    for (遍历子View) {  
    child.draw();  
    }  
}  

  

最新文章

  1. BPM生产安全管理解决方案分享
  2. 使用NetBeans、Eclipse阅读JDK源码
  3. python 之 模拟GET/POST提交
  4. Protobuf一键生成代码bat文件
  5. 关于iPhone
  6. HTML5新增属性data-*和js/jquery之间的交互
  7. java equals 和 == 的区别
  8. Erlang简单并行服务器
  9. Activiti 框架学习
  10. 转://Oracle 事务探索与实例(二)
  11. Axure RP Extension for Chrome 插件安装
  12. 在centos使用redis几个坑
  13. 去掉DataTable列中的重复行
  14. activiti流程跟踪图算法
  15. HDU 2571(dp)题解
  16. MVC 模型 视图, 控制器 写 三级联动
  17. vue 整合雪碧图功能
  18. 【Linux】进程管理
  19. Ubuntu 添加用户到sudoers
  20. PCB仿真软件与电磁场求解器的算法

热门文章

  1. 课程一(Neural Networks and Deep Learning),第三周(Shallow neural networks)—— 3.Programming Assignment : Planar data classification with a hidden layer
  2. 浅尝Vue.js组件(一)
  3. php的 $_REQUEST取值为空
  4. Solidity的自定义结构体深入详解
  5. SpringMVC之文件上传
  6. Python多版本管理器-pyenv 介绍及部署记录
  7. Spring AOP介绍及源码分析
  8. layer插件学习——icon样式
  9. 拥抱HTML5
  10. 2017.12.21-JQuery