android ImageView超链接coords

时间:2011-09-27 15:49:53

标签: android android-intent click surfaceview area

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

类似于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

mapViews get投影方法也有类似的功能。与此类似,但应该是加载位图。

1 个答案:

答案 0 :(得分:0)

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

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

由于使用此方法将创建额外的视图,您将获得轻微的性能影响。如果您希望最大限度地提高性能,请执行上面提到的附加OnTouchListener并在onTouch回调中使用逻辑的内容。您可以创建Rect对象来表示您的触摸区域,并调用Rect.intersect()以查看触摸事件位置是否与您的某个矩形区域相交。这可能会为您提供更好的整体表现。