View的绘制流程和自定义常用方法的简述

简介: View绘制的方法及过程1、MyView() 构造方法,这个不做解释,铁定第一个被调用。作用:传入Context2、onFinishInflate() 当View中所有的子控件均被映射成xml后触发3、onMeasure() 在View放置到父...

View绘制的方法及过程

1、MyView() 构造方法,这个不做解释,铁定第一个被调用。

作用:传入Context

2、onFinishInflate() 当View中所有的子控件均被映射成xml后触发

3、onMeasure() 在View放置到父容器时调用

作用:测量View的大小,也可以通过下面方式,修改View的大小

@Override

protectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec){

    super.onMeasure(widthMeasureSpec,heightMeasureSpec);

    setMeasuredDimension(100,100);

}

也可以通过以下方式获取控件的宽和高

@Override

protectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec {

    super.onMeasure(widthMeasureSpec,heightMeasureSpec);

    intwidth=MeasureSpec.getSize(widthMeasureSpec);

    intheight=MeasureSpec.getSize(heightMeasureSpec));

}

4、onSizeChanged() 在控件大小发生改变时调用。所以这里初始化会被调用一次

作用:获取控件的宽和高度

5、onDraw() 最后就是绘制图形了

目录
相关文章
|
6月前
|
前端开发 Java Spring
SpringMVC种通过追踪源码查看是哪种类型的视图渲染器(一般流程方法)
这篇文章通过示例代码展示了如何在Spring MVC中编写和注册拦截器,以及如何在拦截器的不同阶段添加业务逻辑。
SpringMVC种通过追踪源码查看是哪种类型的视图渲染器(一般流程方法)
|
前端开发 Android开发 Python
这可能是第二好的自定义 View 教程之绘制
面试系列 不继续了吗? 知道我的人都知道,之前我写了这个 面试系列宣言,如今好像一直都没有连载,而是隔三差五地来一篇,其实也是因为笔者也能力有限,构思一篇文章需要足够的时间去印证其准确性,而之前的部分就因为印证不够造成了勘误。
1124 0
图+源码,读懂View的Draw方法(二)
本文将继续讲述 View 绘制三大方法的最后一个方法——Draw 方法。该方法不会很复杂,相信大家很快可以弄懂。
图+源码,读懂View的Draw方法(二)
|
前端开发 Android开发
图+源码,读懂View的Draw方法(一)
本文将继续讲述 View 绘制三大方法的最后一个方法——Draw 方法。该方法不会很复杂,相信大家很快可以弄懂。
图+源码,读懂View的Draw方法(一)
|
8月前
|
前端开发 JavaScript
详尽分享组件的封装方法【比较高级方法】★★★★★★★
详尽分享组件的封装方法【比较高级方法】★★★★★★★
33 0

热门文章

最新文章