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

      

  • 相关阅读:
    站立会议第1天
    博客园用户体验
    风险评估
    寻找正整数中1的个数
    每个小组对本组的意见
    对每个小组的评论和建议
    每日scrum(六)
    每日scrum(五)
    分析电脑控制的丹佛机场行李系统
    每日scrum(四)
  • 原文地址:https://www.cnblogs.com/ganchuanpu/p/6540021.html
Copyright © 2011-2022 走看看