我有一段代码在Button
图像(全屏)上显示一些图钉(带有图像ImageView
)。(您可以假设所有引脚都是动态创建的并且具有随机位置)。要求是这些引脚不应重叠。对于创建的每个引脚,我正在检查它是否与任何其他先前创建的引脚重叠。
为此,我试图获取Rect
这些引脚并检查它们是否重叠使用Rect.intersects()
。问题是在实际显示视图之前我不能使用像getRight()
, getTop()
, getWidth()
,这样的函数。getHeight()
它们都返回 0。所以我无法获得矩形的正确数据。我试图将代码放在不同的回调中,例如onWindowFocusChanged()
oronResume()
但我仍然遇到同样的问题,所有维度/位置都返回 0。
我正在寻找有关此问题的解决方案/建议。如何在引脚显示之前获得正确的位置和尺寸?
我看了看View.measure()
,似乎我可以使用getMeasuredWidth()
and获得一些值,getMeasuredHeight()
但仍然返回 0。getRight()
getTop()