我有一些不規則形狀的按鈕,創建爲ImageButtons。 ImageButtons的「android:src」屬性是透明背景的.PNG文件。並且這些ImageButton的父級佈局具有一個自定義的背景圖片,它是用「android:background」屬性定義的。所以活動的背景不透明或者只是黑色。Android - 如何檢測自定義形狀按鈕點擊區域的透明度
我的問題是;如何檢測按鈕上的點擊是在源圖像的透明區域上還是在源圖像的可見部分上?
我嘗試使用onTouchListener獲取事件的座標並根據像素的顏色做出決定;但由於背景豐富多彩,我無法理解。
任何幫助,非常感謝。提前致謝!
如果點不在所需的區域,則需要在自定義按鈕中覆蓋此方法以返回false。我建議你去了解它是這樣的: 公共靜態MyButton類擴展的ImageButton { ... @覆蓋 公共布爾dispatchTouchEvent(MotionEvent事件){ INT的iX =(INT)event.getX(); int iY =(int)event.getY(); // TODO或者使用更復雜的基於像素值的條件 if(!(iX> = 0&iY> = 0&iX
Nagaraja