有没有办法在图像中定义可点击区域?与HTML中的地图区域标签等效或类似的东西?或者有没有一种标准的方法来做这种事情?
答案 0 :(得分:2)
一种可能的方法
1)使用(以像素为单位)
获取图像视图的宽度和高度2)获取图像视图的坐标(图像视图的左上角)
3)创建一个触摸监听器,并记录用户触摸的坐标
4)如果用户的触摸坐标落在图像上,请执行您想要的任何内容
如果您只想根据用户触摸的位置做某些事情,则必须使用图像视图的坐标计算这些区域的坐标,以及图像视图的宽度和高度。
答案 1 :(得分:0)
我认为可能没有标准的方法,但你可以通过在imageview上放置一个透明的VIEW来实现它。将click侦听器设置为该视图,并使imageview可单击为false。
答案 2 :(得分:0)
当我必须做类似的事情时,我使用包含视图。
对于包含视图将要访问的布局,我将以root身份使用 FrameLayout 。
它的孩子将是我想要描绘的 ImageView ,以及在我希望用户可以选择的位置包含按钮的 LinearLayout 。
然后在代码中,我将侦听器设置为这些按钮。
最后,我会设置按钮,使背景透明,文字不可用。
例如在我正在处理的项目中,我有一个带有海洋图像的ImageView作为背景。
在视图前面,我有一个带有较小ImageView的LinearLayout和岛屿图像。
我将监听器放在岛上,以查看它们何时被点击以打开新活动。