我想实现一种功能,当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();
中使用具有适当逻辑的SurfaceViewmapViews get投影方法也有类似的功能。与此类似,但应该是加载位图。
答案 0 :(得分:0)
另一种可能的方法是创建一个使用透明9补丁作为背景的视图。将其设置为您需要的任何大小和位置,并从其onClickListener()调用您的意图。从用户的角度来看,这可以达到同样的效果。
编辑: 如果您希望同时激活多个,则必须使用多个透明视图。如果您一次只想激活一个,则可以重复使用同一个激活,只需更改它的大小/位置即可。
由于使用此方法将创建额外的视图,您将获得轻微的性能影响。如果您希望最大限度地提高性能,请执行上面提到的附加OnTouchListener并在onTouch回调中使用逻辑的内容。您可以创建Rect对象来表示您的触摸区域,并调用Rect.intersect()以查看触摸事件位置是否与您的某个矩形区域相交。这可能会为您提供更好的整体表现。