Android 自定义控件之View的绘制流程

来源:互联网 发布:java开发app教程 编辑:程序博客网 时间:2024/05/01 14:50

这里写图片描述
这里写图片描述

View和ViewGroup

  1. 关系

    1. 继承关系
    2. 组合关系
  2. 作用

    1. view的作用: 提供实际的功能
    2. ViewGroup的作用: 用来装孩子的,管理孩子摆放的位置,大小
  3. View的绘制流程

    1. measure(): 测量,用来控制控件的大小,final 不建议复写
    2. layout(): 布局,用来控制控件摆放的位置
    3. draw(): 绘制,用来控制控件的样子

    如果需要自定义view

    1. onMeasure():
    2. onLayout():
    3. onDraw():
  4. 行为控制:(触摸)

    1. dispatchTouchEvent(): (View和ViewGroup)分发touch,android希望开发者在这个方法中实现touch的传递
    2. onInterceptTouchEvent(): (ViewGroup) 拦截touch事件,android希望开发者在这个方法中通过父容器来控制是否拦截孩子的touch
    3. onTouchEvent(): (View和ViewGroup) 当用户触摸控件时候的回调,android希望开发者在这个方法中实现行为

    4. view.setOnTouchListener();

  5. View的绘制刷新: invalidate()触发view的刷新–>draw()—>onDraw()
    View的布局刷新 requestLayout()触发重新布局–>layout()—>onLayout()–>draw()—>onDraw()

<Linearlayout>    <Button />    <LinearLayout>        <Button />    </Linearlayout></Linearlayout>

这里写图片描述
这里写图片描述

这里写图片描述

参考:Android自定义控件

原创粉丝点击