Android 如何在图像上放置按钮

Android 如何在图像上放置按钮,android,button,android-imageview,Android,Button,Android Imageview,我需要在图像上的不同位置放置按钮,这是一个平面图,我想使用图像导航到每个房间 我有一个想法,我需要两张图片,上面的一张拿着平面图,下面的一张拿着按钮,这两张图片的颜色完全不同。我想向用户显示顶部图像,但从底部图像获得触感。如果我能得到用户点击的按钮/区域的颜色,那么我就可以告诉他们想要去哪个房间,我就可以拥有我喜欢的任何形状的按钮 我发现了这个想法,但我找不到任何教程或指导来帮助我。我目前正在研究GL ES 1.0,但我不确定这是否是正确的方法 任何帮助都将不胜感激 谢谢对不起,在我完整阅读问题

我需要在图像上的不同位置放置按钮,这是一个平面图,我想使用图像导航到每个房间

我有一个想法,我需要两张图片,上面的一张拿着平面图,下面的一张拿着按钮,这两张图片的颜色完全不同。我想向用户显示顶部图像,但从底部图像获得触感。如果我能得到用户点击的按钮/区域的颜色,那么我就可以告诉他们想要去哪个房间,我就可以拥有我喜欢的任何形状的按钮

我发现了这个想法,但我找不到任何教程或指导来帮助我。我目前正在研究GL ES 1.0,但我不确定这是否是正确的方法

任何帮助都将不胜感激


谢谢

对不起,在我完整阅读问题之前我已经回答了。我的解决方案是一个更简单的方法,但不允许你形成和塑造他们以及你的想法。让我来玩,也许我可以更新这个答案。祝你好运

如果我理解正确,您可以将按钮放置在图像上,然后将其设置为不可见。这样,他们看不见,但仍然可以按下

View b = findViewById(R.id.button); 
b.setVisibility(View.GONE);
//I can't remember off the top of my head but it might be
b.setVisibility(View.INVISIBLE)

如果我的密码不正确,这里有一个备份

对不起,在我完全阅读问题之前我已经回答了。我的解决方案是一个更简单的方法,但不允许你形成和塑造他们以及你的想法。让我来玩,也许我可以更新这个答案。祝你好运

如果我理解正确,您可以将按钮放置在图像上,然后将其设置为不可见。这样,他们看不见,但仍然可以按下

View b = findViewById(R.id.button); 
b.setVisibility(View.GONE);
//I can't remember off the top of my head but it might be
b.setVisibility(View.INVISIBLE)
如果我的代码关闭,这里有一个备份

您可以为您的映像设置一个备份:

image.setOnTouchListener(new View.OnTouchListener() {

 @Override
 public boolean onTouch(View v, MotionEvent event) {
 event.getX();
 event.getY();
 return false;
      }
});
使用getX和getY,您将获得已按下图片的坐标。 现在,您只需要一个响应“点击”的区域列表。
我建议你用一个对象列表。每个Rect对象代表图片中的一个可单击矩形。Rect对象提供方法
contains(x,y)
来测试从onTouchListener传递的坐标是否在其内部。

您可以为图像设置:

image.setOnTouchListener(new View.OnTouchListener() {

 @Override
 public boolean onTouch(View v, MotionEvent event) {
 event.getX();
 event.getY();
 return false;
      }
});
使用getX和getY,您将获得已按下图片的坐标。 现在,您只需要一个响应“点击”的区域列表。

我建议你用一个对象列表。每个Rect对象代表图片中的一个可单击矩形。Rect对象提供了方法
contains(x,y)
来测试从onTouchListener发送的坐标是否在其中。

感谢harper89,我想如果我能得到区域的颜色,那么我可以使我的区域形成我喜欢的任何形状,如果我允许图像变形,这也会有所帮助,如果两个图像的大小相同,则任何失真都会在可压区域反映出来。我在这方面有点新手,我只是假设图像需要隐藏并保持可见,但现在我不明白为什么图像可以不可见且没有颜色(也要感谢@Thommy)@Martin通过单击颜色来执行单击操作似乎是一个更酷、更强大的想法。希望最终你能得到你所需要的。Enjoy感谢harper89,我想如果我能得到该区域的颜色,那么我可以使我的区域成为我喜欢的任何形状,如果我允许我的图像失真,也会有所帮助。如果两个图像大小相同,那么任何失真都会反映在可压区域。我在这方面有点新手,我只是假设图像需要隐藏并保持可见,但现在我不明白为什么图像可以不可见且没有颜色(也要感谢@Thommy)@Martin通过单击颜色来执行单击操作似乎是一个更酷、更强大的想法。希望最终你能得到你所需要的。享受