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