我需要将按钮放在图像上的不同位置,这是一个平面图,我想用图像导航到每个房间。
我有一个想法,我需要两个图像,顶部一个拿着平面图,底部一个按住按钮 - 这是真正不同颜色的区域。我想向用户显示顶部图像,但从底部图片中获取触摸。如果我可以获得用户点击的按钮/区域的颜色,那么我可以告诉他们想要去哪个房间,我将能够按下我喜欢的任何形状的按钮。
我找到了这个想法,但我找不到任何教程或指导来帮助我。我目前正在研究GL ES 1.0,但我不确定它是否是正确的方法。
任何帮助都会非常感激
感谢
答案 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