在启动时访问View维度

时间:2011-12-15 04:05:26

标签: android

我有一个android View X和Y,其中X必须根据Y的尺寸进行操作(具体来说,X及其所有内容必须放大到Y而不改变其宽高比)。我这样做是通过计算新的(更大)X大小并相应地设置scaleX和scaleY来实现的。请告诉我是否有更好的方法!如果没有,我的第二个问题是 - 我希望在Activity.onCreate或onStart或onResume中完成。但在这些中,X和Y的尺寸报告为0.0。有没有什么方法可以在Y布局后在活动开始时这样做,所以它的尺寸不是0.0。

此致 史蒂夫库塞拉

1 个答案:

答案 0 :(得分:0)

android中的任何视图都会在屏幕上显示之前经历几个步骤。所有内容都归measure()所有 - 这里将是字段measuredHeightmeasuredWidth。然后它转到layout()并且只有在此方法完成视图后才有参数widthheight。因此,您可以提供自己的视图,其中包含X和Y,并且在测量和布局的同时,更改子X的宽度或高度。