2011-12-02 94 views
1

我正在使用自定義RadioButton,我只需要在圖像可見區域進行點擊。 正如您在下面的圖片中看到的那樣,我只需要在圖像部分(即僅白色和綠色部分)上進行點擊,黑色區域將保持透明且不可點擊。如何使按鈕可點擊或僅在圖像可見區域觸摸?

enter image description here

感謝, 任何幫助真的會被讚賞。

回答

1

我覺得最簡單的方法來檢測圖像的'可見'內容是否被點擊,是鉤住一個OnTouchListener,獲取觸摸座標,然後使用Bitmap.getPixel(int x, int y)獲得這些座標的顏色。由於這將返回ARBG顏色,因此使用Alpha通道的圖像應該沒什麼問題。任何「透明的」(在這種情況下是黑色的)將是無效的,其他一切都意味着實際的內容被挖掘。

0

一個簡單的方法就是在觸摸位置抓住像素顏色。然後你可以檢查像素是否透明:

int color = Bitmap.getPixel(x,y); // x and y are the location of the touch event in Bitmap space 
int alpha = Color.getAlpha(color); 
boolean isTransparent = (alpha==0); 

更多詳細信息here

+0

然後從那裏我會得到的位圖,我使用的位圖資源較大,然後它看起來在設備中。 –