我正在使用自定義RadioButton,我只需要在圖像可見區域進行點擊。 正如您在下面的圖片中看到的那樣,我只需要在圖像部分(即僅白色和綠色部分)上進行點擊,黑色區域將保持透明且不可點擊。如何使按鈕可點擊或僅在圖像可見區域觸摸?
感謝, 任何幫助真的會被讚賞。
我正在使用自定義RadioButton,我只需要在圖像可見區域進行點擊。 正如您在下面的圖片中看到的那樣,我只需要在圖像部分(即僅白色和綠色部分)上進行點擊,黑色區域將保持透明且不可點擊。如何使按鈕可點擊或僅在圖像可見區域觸摸?
感謝, 任何幫助真的會被讚賞。
我覺得最簡單的方法來檢測圖像的'可見'內容是否被點擊,是鉤住一個OnTouchListener,獲取觸摸座標,然後使用Bitmap.getPixel(int x, int y)
獲得這些座標的顏色。由於這將返回ARBG顏色,因此使用Alpha通道的圖像應該沒什麼問題。任何「透明的」(在這種情況下是黑色的)將是無效的,其他一切都意味着實際的內容被挖掘。
一個簡單的方法就是在觸摸位置抓住像素顏色。然後你可以檢查像素是否透明:
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。
然後從那裏我會得到的位圖,我使用的位圖資源較大,然後它看起來在設備中。 –