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 }
运行结果:
1 2 3 4 5 6 7 | 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 |
我的“区块链”技术书籍:《区块链以太坊DApp开发实战》
、
支付宝收款码 https://www.cnblogs.com/linguanh/gallery/825997.html
微信:https://www.cnblogs.com/linguanh/gallery/image/321906.html
银行卡:6217007200076746554 , 林冠宏
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?