android之View的启动过程[通俗易懂]

程序里调用了onSizeChanged方法进行了一些设置,不知道onSizeChanged是在什么时候启动的,所以研究了一下View的启动流程代码如下:public class TestView extends View { public TestView(Context context) { super(context); Log.d(“mDebug”, “TestV

大家好,又见面了,我是全栈君。

程序里调用了onSizeChanged方法进行了一些设置,不知道onSizeChanged是在什么时候启动的,所以研究了一下View的启动流程

代码如下:

public class TestView extends View {

	public TestView(Context context) {
		super(context);
		Log.d("mDebug", "TestView context");
	}

         public TestView(Context context, AttributeSet attrs) {
                 super(context, attrs);
                 Log.d("mDebug", "TestView context, attrs="+attrs.getAttributeValue(0));
         }	
	
	public TestView(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		Log.d("mDebug", "TestView context,attrs,defStyle attrs="+attrs.getAttributeValue(0));
	}


	
	@Override
	protected void onDraw(Canvas canvas) {
		super.onDraw(canvas);
		Log.d("mDebug", "onDraw");
	}

	@Override
	protected void onFinishInflate() {
		super.onFinishInflate();
		Log.d("mDebug", "onFinishInflate");
	}



	@Override
	protected void onSizeChanged(int w, int h, int oldw, int oldh) {
		super.onSizeChanged(w, h, oldw, oldh);
		Log.d("mDebug", "onSizeChanged,w="+w+",h="+h+",oldw="+oldw+",oldh="+oldh);
	}

}

输出如下:

22:23:03.587: D/mDebug(9715): TestView context, attrs=@2131034112
22:23:03.597: D/mDebug(9715): onFinishInflate
22:23:03.667: D/mDebug(9715): onSizeChanged,w=720,h=1080,oldw=0,oldh=0
22:23:03.727: D/mDebug(9715): onDraw
22:23:03.757: D/mDebug(9715): onDraw

很显然,onSizeChanged的启动时间在onDraw之前

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121435.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Tomcat 日志概述[通俗易懂]

    Tomcat 日志概述[通俗易懂]1   Tomcat日志概述Tomcat日志信息分为两类:一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息。二是访问日志信息,它记录的访问的时间,IP,访问的资料等相关信息。2   Tomcat日志配置2.1 访问日志的配置默认tomcat不记录访问日志,如下方法可以使

    2022年6月20日
  • android更换开机动画,修改安卓开机动画(除了部分系统 如MIUI等)

    android更换开机动画,修改安卓开机动画(除了部分系统 如MIUI等)该楼层疑似违规已被系统折叠隐藏此楼查看此楼这技术已经很久了,但还是忍不住搬运了一下。出处是百度的,很久很久以前玩手机在百度上学的我这里说的开机动画是指开机的第二屏开机动画可以在下载的rom里修改,也可以刷机后修改(推荐后者,因为比较方便,免签名)前提:手机要ROOT提权,用R.E.管理器粘贴复制首先,开机动画的地址:system\media\bootanimation.zip要修改开机动画就是修…

    2022年5月14日
  • c2框架编写

    0x00前言由于昨天520,今天又是521,我被朋友圈和qq空间给刷屏了,都在秀对象。一气之下决定把我上次写的nc拿出来使用类进行重构,多实例化几个对象,这下子我也有对象了。0x01一些小插曲

    2021年12月11日
  • 证明 poj 1014 模优化修剪,部分递归 有错误

    证明 poj 1014 模优化修剪,部分递归 有错误

    2022年1月4日
  • Python-matplotlib画图(莫烦笔记)

    https://www.zhihu.com/collection/260736383<此处就不自己写了,看了遍,照着写了一边,作者写的不错。不过有些有些偷懒,我只做了常见的功能>作者:触摸壹缕阳光链接:https://zhuanlan.zhihu.com/p/33270402来源:知乎著作权归作者所有,转载请联系作者获得授权。1.前言Matplotlib是一个python的2D绘图库…

    2022年4月4日
  • java课程设计成绩管理系统_Java课程设计–学生成绩管理系统

    java课程设计成绩管理系统_Java课程设计–学生成绩管理系统一、团队名称:##团队成员林艺薇201721123032网络1712黄毓颖201721123033网络1712唐川201721123034网络1712梁才玉201721123038网络1712##任务分配#三、项目git提交记录截图#四、项目功能架构图与主要功能流程图##思维导图##成绩管理流程图#五、项目运行截图##主界面##选择用户##教师登陆界面##…

    2022年7月9日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号