如何在ImageView中使用的图像中定义可单击区域

时间:2016-12-23 07:33:55

标签: java android

有没有办法在图像中定义可点击区域?与HTML中的地图区域标签等效或类似的东西?或者有没有一种标准的方法来做这种事情?

3 个答案:

答案 0 :(得分:2)

一种可能的方法

1)使用(以像素为单位)

获取图像视图的宽度和高度

2)获取图像视图的坐标(图像视图的左上角)

3)创建一个触摸监听器,并记录用户触摸的坐标

4)如果用户的触摸坐标落在图像上,请执行您想要的任何内容

如果您只想根据用户触摸的位置做某些事情,则必须使用图像视图的坐标计算这些区域的坐标,以及图像视图的宽度和高度。

答案 1 :(得分:0)

我认为可能没有标准的方法,但你可以通过在imageview上放置一个透明的VIEW来实现它。将click侦听器设置为该视图,并使imageview可单击为false。

答案 2 :(得分:0)

当我必须做类似的事情时,我使用包含视图。

对于包含视图将要访问的布局,我将以root身份使用 FrameLayout

它的孩子将是我想要描绘的 ImageView ,以及在我希望用户可以选择的位置包含按钮的 LinearLayout

然后在代码中,我将侦听器设置为这些按钮。

最后,我会设置按钮,使背景透明,文字不可用。

例如在我正在处理的项目中,我有一个带有海洋图像的ImageView作为背景。

在视图前面,我有一个带有较小ImageView的LinearLayout和岛屿图像。

我将监听器放在岛上,以查看它们何时被点击以打开新活动。