大家都知道,measure的职责就是用来度量的,我要测量UI的大小,既然是用来测量的,那它测量的意义是什么?测量的价值在哪里?
举个例子,xml,每个activity都有xml,xml是做什么用的?
xml定义了我们UI的一个布局,我们的布局是由xml来进行的,这里面每一个view都有自己的宽和高,表示宽和高的有什么办法?
wrap_content,match_parent,还有比如说100dp,有三种模式,在wrap_content你怎么知道你的UI占多宽,占多高,占比是多少?,match_parent还好,和父亲一样大,那wrap_content呢?你怎么知道你最终展示的是要多少dp?所以onMeasure的母的就是用来将xml里面相关的定义的宽高这些信息,把它转为一个已知道的数值的过程。wrap_content:我看看我的孩子需要多宽就多宽;match_parent:我看看父亲又多宽我就多宽。所以这都是一个不确定的数,所以这时候通过度量,我要把它变成一个能够用于布局的能够用来layout的,能够布局的参数,这时候我需要把它转变,所以measure的时候度量的时候处理,也是因为这个原因,所以measure永远都会在onLayout之前执行。
onMeasure的职责是什么?
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 经过上一篇文章的解析,我们熟知了Android在绘制流程之前需要完成的事情。本文将继续和大家聊聊onMeas...
- 接着上一篇View绘制流程及源码解析(一)——performTraversals()源码分析,这一篇我们来具体看看...
- 记得我刚接触自定义 View 的时候,关于 View 的测量、布局、绘制三大流程,最难懂的就是 onMeasure...
- 目录 1.View绘制流程? 2.View Window ViewRootImp之间的关系? 3.控件的宽高和哪些...
- 网上对自定义view总结的文章都很大,但是自己还是写一篇,好记性不如多敲字! 其实自定义View就是三大流程,on...