2

我有一段代码在Button图像(全屏)上显示一些图钉(带有图像ImageView)。(您可以假设所有引脚都是动态创建的并且具有随机位置)。要求是这些引脚不应重叠。对于创建的每个引脚,我正在检查它是否与任何其他先前创建的引脚重叠。

为此,我试图获取Rect这些引脚并检查它们是否重叠使用Rect.intersects()。问题是在实际显示视图之前我不能使用像getRight(), getTop(), getWidth(),这样的函数。getHeight()它们都返回 0。所以我无法获得矩形的正确数据。我试图将代码放在不同的回调中,例如onWindowFocusChanged()oronResume()但我仍然遇到同样的问题,所有维度/位置都返回 0。

我正在寻找有关此问题的解决方案/建议。如何在引脚显示之前获得正确的位置和尺寸?

我看了看View.measure(),似乎我可以使用getMeasuredWidth()and获得一些值,getMeasuredHeight()但仍然返回 0。getRight()getTop()

4

1 回答 1

0

首先添加不可见的矩形并检查位置,然后根据要求移动该位置并使其可见。这会成功的。

于 2013-04-16T12:52:35.630 回答