我有一个android View X和Y,其中X必须根据Y的尺寸进行操作(具体来说,X及其所有内容必须放大到Y而不改变其宽高比)。我这样做是通过计算新的(更大)X大小并相应地设置scaleX和scaleY来实现的。请告诉我是否有更好的方法!如果没有,我的第二个问题是 - 我希望在Activity.onCreate或onStart或onResume中完成。但在这些中,X和Y的尺寸报告为0.0。有没有什么方法可以在Y布局后在活动开始时这样做,所以它的尺寸不是0.0。
此致 史蒂夫库塞拉
答案 0 :(得分:0)
android中的任何视图都会在屏幕上显示之前经历几个步骤。所有内容都归measure()
所有 - 这里将是字段measuredHeight
和measuredWidth
。然后它转到layout()
并且只有在此方法完成视图后才有参数width
和height
。因此,您可以提供自己的视图,其中包含X和Y,并且在测量和布局的同时,更改子X的宽度或高度。