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();  
        }  
    }  
    

      

  • 相关阅读:
    表单全选,不选和反选
    利用js改变宽,高等属性
    点击显示与隐藏
    改变div的不同属性
    给三个不同的div变色
    经典排序算法实现
    基本排序算法的实现
    排序的概念及分类实现
    #和##运算符实例
    #pragma预处理实例
  • 原文地址:https://www.cnblogs.com/ganchuanpu/p/6540021.html
Copyright © 2011-2022 走看看