2012-02-02 230 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傳遞的座標是否在其中。