【发布时间】:2012-01-29 06:17:42
【问题描述】:
Android Documentation says 表示视图有两种尺寸,测量尺寸和图纸尺寸。测量尺寸是在 measure pass(onMeasure 方法)中计算的尺寸,而 绘图尺寸 是屏幕上的实际尺寸。特别是,文档说:
这些值可能(但不一定)与测量的宽度和高度不同。
所以,我的问题是:什么会使图纸尺寸与测量尺寸不同?如果onMeasure(int,int) 方法符合布局要求(作为参数widthMeasureSpec 和heightMeasureSpec,SDK 怎么决定视图应该有不同的绘图尺寸? p>
此外,Android Source Code 中的测量宽度/高度如何/在何处用于计算绘图宽度/高度?我试图查看View source code,但我无法弄清楚测量宽度/高度如何用于计算最终宽度/高度。也许它与填充有关,但我不确定。
【问题讨论】:
-
我认为如果将滚动添加到视图中,这些措施可能会有所不同。
-
也许,但我开发了一个自定义 ViewGroup,这发生在我的代码中。在发生这种行为之前,我不会处理滚动。所以我认为应该不仅仅涉及滚动。
-
我确认,我也开发了一个自定义 ViewGroup 来强制给定宽高比:我强制测量宽度和高度(低于或等于建议的),但结果是实际宽度和高度没有改变(不是测量的)。与滚动无关。我真的找不到强制实际宽度和高度的方法。
标签: android android-layout view size dimensions