我正在尝试使用可触摸区域为我的应用创建自定义视图。这些区域与填充该视图的图像像素坐标有关。我已经将这些图像放置在drawable-nodpi处,以避免系统缩放。检测触摸坐标是否位于自定义视图上可触摸区域的坐标内
我的自定义视图使用其中一个图像,调整其大小以保持宽高比适合其父图像,然后将视图大小调整为所得图像的大小。所以在这一点上,我有一个视图保持源的比例,所以生成的视图单击(onTouch event.getX和event.getY)坐标是相对于原始图像像素坐标。
从另一方面,我有所有的形状的坐标,定义一个xml文件中的clickeable区域,我加载时,我的活动开始。这些区域由类型:circle或rect定义。中心XY,根据原始图像
现在我需要检测是否我的触摸XY是宽度和高度PX:
圈:根据原始图像
矩形中心XY和半径PX在任何这些区域的坐标内,但要记住我的原始图像遭受的缩放。
我怎么能检测到我的触摸坐标和clickeable区域坐标之间的“碰撞”?我的意思是即使不调整原始图像的大小,我该如何计算?
您可以摆脱'sqrt()'调用,因为您只测量相对距离。 – Geobits
对不起,但你能解释一下它的数学吗?我无法遵守它。说这个解决方案只适用于矩形是正确的吗? –
实际上我认为的物体作为圈子。重要的是,你正在计算中心xCoordinate的touchDistance。或者它可能表现得很奇怪:) –