• [Android学习笔记]View的draw过程学习


    View从创建到显示到屏幕需要经历几个过程:

    measure -> layout -> draw

    measure过程:计算view所占屏幕大小
    layout过程:设置view在屏幕的位置
    draw过程:绘制view



    继承自view的控件的draw过程


    draw方法是由viewRoot对象的performTraversale()方法调用的


    draw方法中做了一下几个事:
    1.绘制view的背景
    2.为绘制渐变做准备
    3.回调onDraw()方法
    4.调用dispatchDraw()方法
    5.绘制渐变框


    与draw有关的几个方法:
    invalidate()方法
    请求重新绘制view树,但是只绘制需要绘制的部分

    requestLayout()方法
    请求布局,调用此方法会导致调用measure过程和layout过程,但是不会调用draw过程

    requestFocus()
    请求调用view树的draw过程


    View的绘制过程回调方法调用次数:

    onMeasure -> onLayout -> onMeasure -> onLayout -> onDraw -> 显示屏幕

    onMeasure和onLayout会被调用两次

    人生就是一局不能Again的DOTA
  • 相关阅读:
    day4-1
    day3-1
    day1-3
    day2-1
    day1-2
    day1 1
    对象的高度整合
    类和数据类型
    对象的绑定方法
    python总结
  • 原文地址:https://www.cnblogs.com/hellenism/p/3675409.html
Copyright © 2020-2023  润新知