专栏首页林冠宏的技术文章android view 中各函数的执行顺数

android view 中各函数的执行顺数

这个就好像是 activity 的生命周期一样,如果我们要使用自定义的 view,那么就很有必要了解一下 view 的那些能够被重写的函数的执行顺序。废话不多讲,以常用的5个函数为例子,见下文:

 1 package com.example.pulltorefreshtest;
 2 
 3 import android.content.Context;
 4 import android.graphics.Canvas;
 5 import android.util.AttributeSet;
 6 import android.util.Log;
 7 import android.view.View;
 8 
 9 /**
10  * Created by Administrator on 2015/7/12.
11  */
12 public class testView extends View {
13     public testView(Context context, AttributeSet attrs) {
14         super(context, attrs);
15     }
16 
17     @Override
18     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
19         Log.d("------","---onMeasure");
20         super.onMeasure(widthMeasureSpec, heightMeasureSpec);
21     }
22 
23     @Override
24     protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
25         Log.d("------","---onLayout");
26         super.onLayout(changed, left, top, right, bottom);
27     }
28 
29     @Override
30     protected void onFinishInflate() {
31         Log.d("------","---onFinanshInflate");
32         super.onFinishInflate();
33     }
34 
35     @Override
36     protected void onDraw(Canvas canvas) {
37         Log.d("------","---onDraw");
38         super.onDraw(canvas);
39     }
40 
41     @Override
42     protected void onSizeChanged(int w, int h, int oldw, int oldh) {
43         Log.d("------","---onSizeChanged");
44         super.onSizeChanged(w, h, oldw, oldh);
45     }
46 }

运行结果:

07-12 13:44:45.413  23734-23734/? D/------﹕ ---onFinanshInflate
07-12 13:44:45.443  23734-23734/? D/------﹕ ---onMeasure
07-12 13:44:45.493  23734-23734/? D/------﹕ ---onSizeChanged
07-12 13:44:45.493  23734-23734/? D/------﹕ ---onLayout
07-12 13:44:45.503  23734-23734/? D/------﹕ ---onMeasure
07-12 13:44:45.503  23734-23734/? D/------﹕ ---onLayout
07-12 13:44:45.503  23734-23734/? D/------﹕ ---onDraw

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 详细讲解:零知识证明 之 ZCash 完整的匿名交易流程

    在这篇文章中,我将承接上一篇文章 详细讲解:零知识证明 之 zk-SNARK 开篇 (开篇中介绍了什么是零知识证明及其它术语) 来从一个完整的交易流程 讲解 Z...

    林冠宏-指尖下的幽灵
  • Golang 编写的图片压缩程序,质量、尺寸压缩,批量、单张压缩

    目录:   前序   效果图   简介   全部代码 前序: 接触 golang 不久,一直是边学边做,边总结,深深感到这门语言的魅力,等下要跟大家分享是最近...

    林冠宏-指尖下的幽灵
  • 解决 android 高低版本 webView 里内容 自适应屏幕的终极方法

    转载请声明出处(https://cloud.tencent.com/developer/user/1148436/activities) 一,先说下我的情况,...

    林冠宏-指尖下的幽灵
  • VSCode代码格式化自动换行问题

    Mac VSCode 升级中替换了内置格式化插件导致代码格式化自动换行问题: 1、设置 2、搜索 vetur 3、右边三个点按钮,-> open sett...

    程序员不务正业
  • 每日算法系列【LeetCode 523】连续的子数组和

    给定一个包含非负数的数组和一个目标整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是...

    godweiyang
  • 企业应用通用架构图

    晚上把公司应用的架构结合之前研究的东西梳理了下,整理了一张架构规划图,贴在这里备份 ? 下面是个人理解的做架构的几个要点: 1、系统安全 这是首要考虑的,以这张...

    菩提树下的杨过
  • 利用sql语句解决简单的数学题(r3笔记第19天)

    今天在解决一个问题的时候,发现自己的数学水平严重下降,现在是光有思路没有答案,自己简单算了几个答案,还是不太满意。 最后尝试写了一个简单的pl/sql就解决了。...

    jeanron100
  • 小白博客 Kali Linux - 开发工具介绍及应用

    在本章中,我们将学习Kali Linux提供的各种开发工具。 Metasploit的 正如我们之前提到的,Metasploit是Rapid7的产品,大...

    奶糖味的代言
  • 解决浏览器跨域限制方案之WebSocket

    WebSocket是在HTML5中引入的浏览器与服务端的通信协议,可以类比HTTP。 可以在支持HTML5的浏览器版本中使用WebSocket进行数据通信,常...

    2Simple
  • Android Toast提示封装

    版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/49...

    Hankkin

扫码关注云+社区

领取腾讯云代金券