lgf*_*her 76 size android view dimensions android-layout
的Android文档说,有两种尺寸为一个视图时,测量的尺寸和绘图尺寸.测量尺寸是在测量通道中计算的尺寸(onMeasure方法),而图纸尺寸是屏幕上的实际尺寸.特别是,文档说:
这些值可以但不必与测量的宽度和高度不同.
所以,我的问题是:什么可以使绘图尺寸与测量尺寸不同?如果onMeasure(int,int)方法遵循布局要求(作为参数widthMeasureSpec和heightMeasureSpec给出,SDK如何确定视图应该具有不同的绘图大小?
此外,在Android源代码中如何/在何处使用测量的宽度/高度来计算绘图宽度/高度?我试着查看View源代码,但我无法弄清楚measuredWidth/Height如何用于计算最终的宽度/高度.也许它与填充有关,但我不确定.
Pra*_*dar 86
顾名思义,在测量和布局阶段使用了测量的宽度/高度.
让我举个例子,
小部件被要求自己测量,小部件说它想要200px到200px.这是measuredWidth/height.
在布局阶段,即onLayout方法.该方法可以使用其子节点的measuredWidth/height或通过调用视图的布局方法来指定新的宽度/高度.
让我们说onLayout方法现在调用childview.layout(0,0,150,150),现在视图的宽度/高度与测量的宽度/高度不同.
我建议不要在onLayout方法之外使用measuredWidth/height.
总结一下.
另外,
public void View.layout(int l, int t, int r, int b)
似乎是位置和大小分配发生的地方.
| 归档时间: |
|
| 查看次数: |
35457 次 |
| 最近记录: |