android ImageView超链接坐标

android ImageView超链接坐标,android,android-intent,click,surfaceview,area,Android,Android Intent,Click,Surfaceview,Area,我想实现一个功能,当ImageView中设置的图像的特定区域将导致调用intent时 类似于HTML coords超链接 <img src ="planets.gif" width="145" height="126" alt="Planets" usemap ="#planetmap" /> <map name="planetmap"> <area shape="rect" coords="0,0,82,126" href="sun.htm" alt="S

我想实现一个功能,当ImageView中设置的图像的特定区域将导致调用intent时

类似于HTML coords超链接

<img src ="planets.gif" width="145" height="126" alt="Planets" usemap ="#planetmap" />

<map name="planetmap">
   <area shape="rect" coords="0,0,82,126" href="sun.htm" alt="Sun" />
   <area shape="circle" coords="90,58,3" href="mercur.htm" alt="Mercury" />
   <area shape="circle" coords="124,58,8" href="venus.htm" alt="Venus" />
 </map>
我想实现这一点,即使在一个缩放的图像

以下是我搜索并找到的线索:

我必须在onTouch中使用具有适当逻辑的SurfaceView


“地图视图”“获取投影”方法上也有类似的功能。与此类似,但应该加载位图。

另一种可能的方法是自己创建一个使用透明9补丁作为背景的视图。将其设置为您需要的任何大小和位置,并从其onClickListener调用您的意图。从用户的角度来看,这是为了达到同样的效果

编辑: 如果要同时激活多个视图,则必须使用多个透明视图。如果您一次只想激活一个,您可以重用同一个,只需更改其大小/位置


因为使用这种方法会创建额外的视图,所以性能会受到轻微的影响。如果您希望最大化性能,请执行上面提到的操作,即附加一个OnTouchListener,并在onTouch回调中包含您的逻辑。您可以创建表示触摸区域的Rect对象,并调用Rect.intersect查看触摸事件位置是否与一个Rect区域相交。这可能会给您带来更好的整体性能。

我如何才能在这种方法中设置多个区域?您有工作示例吗?如果我想缩放图像,那么这些区域也应该缩放。就像脸书上的标签一样。