2012-02-02 140 views
0

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

我有一个想法,我需要两个图像顶部的一个拥有平面图,底部的一个拥有按钮 - 这是真正不同的颜色区域。我想向用户展示顶部图片,但是会从底部图片中触及。如果我可以得到用户点击的按钮/区域的颜色,那么我可以告诉他们想要去哪个房间,并且可以使我的按钮具有任何我喜欢的形状。

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

任何帮助将是非常appreciatted

感谢

回答

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

+0

感谢harper89,我想如果我能得到该区域的颜色,那么我可以使我的区域具有任何我喜欢的形状,并且如果我允许图像变形,如果两幅图像的尺寸相同失真会在可压缩区域出现。我在这方面有点新手,我只是假设图像需要下去并保持可见,但现在我不明白为什么图像可以看不见,也没有颜色(也感谢@ Thommy) – Martin 2012-02-02 16:00:23

+0

@Martin The点击颜色点击行动似乎是一个更酷和更强大的想法。希望最终你得到你需要的东西。请享用 – sealz 2012-02-02 16:04:10

3

您可以设置OnTouchListener到您的图片:

image.setOnTouchListener(new View.OnTouchListener() { 

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

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

相关问题