zoukankan      html  css  js  c++  java
  • 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();  
        }  
    }  
    

      

  • 相关阅读:
    大数据学习笔记01
    寻址方式
    指令格式
    虚拟存储器
    高速缓冲存储器Cache
    双端口RAM和多模块存储器
    主存储器与CPU的连接
    半导体存储器
    存储系统——基本概念
    算术逻辑单元
  • 原文地址:https://www.cnblogs.com/ganchuanpu/p/6540021.html
Copyright © 2011-2022 走看看