Android下如何理解onMeasure,onLayout的过程
2013-11-20 18:23
423 查看
http://www.spasvo.com/news/html/2013517100523.html
在Android中view如何完成绘制这个过程介绍了很多,但是很多理论化的东西,最近重新整理一下,通俗的讲解一下。
View绘制过程就好比你向银行贷款,
在执行onMeasure的时候,好比银行告诉你大概贷款额度有多少?你根据自己的需求,进行各方面的计算,计算出一个自己大概需要的金额,然后告诉询问需要多少贷款。贷款额度好比显示空间大小。
实际代码执行过程是这样
onMeasure(int widthMeasureSpec, int heightMeasureSpec),其中widthMeasureSpec和heightMeasureSpec是银行告诉的大致额度。然后内部计算完成后,通过setMeasuredDimension(width, height)将实际需要的大小返回给父view。
即onMeasure用来确定确定view显示的大小(通过调用子view的measure,来确定子view的大小)
在执行onLayout的时候,好比银行收到你的贷款请求后,根据自身储备的情况及你的资质情况,批发了贷款的额度及领取的时间。领取的时间好比显示的起始位置,额度好比是显示空间的大小。
实际代码执行过程是这样的
onLayout(boolean changed, int left, int top, int right, int bottom)-确定view在父类中的显示位置,通过对子view的位置计算,通过调用子view的layout将在父类中的位置设置给子view。
在执行dispatchDraw的时候,好比你去银行真正获取贷款,拿到你需要的钱了,签署各类合同和手续,完成你的贷款过程。
在dispatchDraw的过程是在指定的空间内绘制你需要绘制的内容,可以通过drawChild实现内部子view的绘制。
在Android中view如何完成绘制这个过程介绍了很多,但是很多理论化的东西,最近重新整理一下,通俗的讲解一下。
View绘制过程就好比你向银行贷款,
在执行onMeasure的时候,好比银行告诉你大概贷款额度有多少?你根据自己的需求,进行各方面的计算,计算出一个自己大概需要的金额,然后告诉询问需要多少贷款。贷款额度好比显示空间大小。
实际代码执行过程是这样
onMeasure(int widthMeasureSpec, int heightMeasureSpec),其中widthMeasureSpec和heightMeasureSpec是银行告诉的大致额度。然后内部计算完成后,通过setMeasuredDimension(width, height)将实际需要的大小返回给父view。
即onMeasure用来确定确定view显示的大小(通过调用子view的measure,来确定子view的大小)
在执行onLayout的时候,好比银行收到你的贷款请求后,根据自身储备的情况及你的资质情况,批发了贷款的额度及领取的时间。领取的时间好比显示的起始位置,额度好比是显示空间的大小。
实际代码执行过程是这样的
onLayout(boolean changed, int left, int top, int right, int bottom)-确定view在父类中的显示位置,通过对子view的位置计算,通过调用子view的layout将在父类中的位置设置给子view。
在执行dispatchDraw的时候,好比你去银行真正获取贷款,拿到你需要的钱了,签署各类合同和手续,完成你的贷款过程。
在dispatchDraw的过程是在指定的空间内绘制你需要绘制的内容,可以通过drawChild实现内部子view的绘制。
相关文章推荐
- Android下如何理解onMeasure,onLayout的过程
- Android下如何理解onMeasure,onLayout的过程
- Android下如何理解onMeasure,onLayout的过程
- Android下如何理解onMeasure,onLayout的过程
- Android下如何理解onMeasure,onLayout的过程
- Android下如何理解onMeasure,onLayout的过程
- Android下如何理解onMeasure,onLayout的过程
- Android 理解 onMeasure onLayout的过程
- Android onMeasure,onLayout,onDraw的理解
- Android中View的绘制过程 onMeasure方法简述
- Android中View的绘制过程 onMeasure方法简述 附有自定义View例子
- Android View.onMeasure方法的理解
- android 系统回调onSizeChange, onMeasure, onLayout调用时机
- Android View.onMeasure方法的理解
- android 系统回调onSizeChange, onMeasure, onLayout调用时机
- Android如何绘制视图,解释了为何onMeasure有时要调用多次
- Android对View的onMeasure方法理解
- Android measure和layout的一点理解
- Android学习自定义View(五)——自定义ViewGroup及其onMeasure()的理解
- Android应用程序窗口(Activity)的测量(Measure)、布局(Layout)和绘制(Draw)过程分析