View的draw机制
2024-10-13 04:55:18
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();
}
}
最新文章
- BPM生产安全管理解决方案分享
- 使用NetBeans、Eclipse阅读JDK源码
- python 之 模拟GET/POST提交
- Protobuf一键生成代码bat文件
- 关于iPhone
- HTML5新增属性data-*和js/jquery之间的交互
- java equals 和 == 的区别
- Erlang简单并行服务器
- Activiti 框架学习
- 转://Oracle 事务探索与实例(二)
- Axure RP Extension for Chrome 插件安装
- 在centos使用redis几个坑
- 去掉DataTable列中的重复行
- activiti流程跟踪图算法
- HDU 2571(dp)题解
- MVC 模型 视图, 控制器 写 三级联动
- vue 整合雪碧图功能
- 【Linux】进程管理
- Ubuntu 添加用户到sudoers
- PCB仿真软件与电磁场求解器的算法
热门文章
- 课程一(Neural Networks and Deep Learning),第三周(Shallow neural networks)—— 3.Programming Assignment : Planar data classification with a hidden layer
- 浅尝Vue.js组件(一)
- php的 $_REQUEST取值为空
- Solidity的自定义结构体深入详解
- SpringMVC之文件上传
- Python多版本管理器-pyenv 介绍及部署记录
- Spring AOP介绍及源码分析
- layer插件学习——icon样式
- 拥抱HTML5
- 2017.12.21-JQuery