如何在图像上放置按钮

时间:2012-02-02 15:36:48

标签: android button android-imageview

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

我有一个想法,我需要两个图像,顶部一个拿着平面图,底部一个按住按钮 - 这是真正不同颜色的区域。我想向用户显示顶部图像,但从底部图片中获取触摸。如果我可以获得用户点击的按钮/区域的颜色,那么我可以告诉他们想要去哪个房间,我将能够按下我喜欢的任何形状的按钮。

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

任何帮助都会非常感激

感谢

2 个答案:

答案 0 :(得分:3)

您可以为图片设置OnTouchListener

image.setOnTouchListener(new View.OnTouchListener() {

 @Override
 public boolean onTouch(View v, MotionEvent event) {
 event.getX();
 event.getY();
 return false;
      }
});

使用getX和getY,您将获得已按下的图片的坐标。 现在您只需要一个响应“点击”的区域列表 我建议你使用Rect - 对象列表来做到这一点。每个Rect-Object代表图片中的可点击矩形。 Rect对象提供方法contains(x, y)来测试从onTouchListener传递的坐标是否在其中。

答案 1 :(得分:1)

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

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

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)

并且我的代码是关闭的,这是一个备份Link