Android文档指出视图有两个尺寸:测量尺寸和绘制尺寸。测量尺寸是在measure pass(即onMeasure方法)中计算的尺寸,而绘制尺寸是屏幕上的实际大小。特别地,文档指出:
此外,在Android源代码中如何/在哪里使用测量宽度/高度来计算绘图宽度/高度?我尝试查看View源代码,但我无法弄清测量宽度/高度如何用于计算最终的宽度/高度。也许与填充有关,但我不确定。
那么,我的问题是:什么因素会导致绘制尺寸与测量尺寸不同?如果onMeasure(int, int)方法遵循布局要求(作为参数widthMeasureSpec和heightMeasureSpec),那么SDK如何决定视图应具有不同的绘制尺寸?这些值可能与测量宽度和高度不同,但也可能相同。
此外,在Android源代码中如何/在哪里使用测量宽度/高度来计算绘图宽度/高度?我尝试查看View源代码,但我无法弄清测量宽度/高度如何用于计算最终的宽度/高度。也许与填充有关,但我不确定。