首页 > 代码库 > View的draw机制
View的draw机制
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(); } }
View的draw机制
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。