ImageButton으로 생성 된 불규칙한 모양의 버튼이 있습니다. ImageButtons의 "android : src"속성은 투명한 배경을 가진 .PNG 파일입니다. 그리고이 ImageButtons의 부모 레이아웃에는 "android : background"속성으로 정의 된 사용자 정의 배경 이미지가 있습니다. 따라서 활동의 배경이 투명하거나 검은 색이 아닙니다.안드로이드 - 사용자 정의 모양 버튼의 클릭 영역의 투명도를 감지하는 방법
내 질문은; 단추를 클릭하는 것이 원본 이미지의 투명 영역에 있는지 아니면 원본 이미지의 보이는 부분에 있는지 어떻게 알 수 있습니까?
onTouchListener를 사용하여 이벤트의 좌표를 가져 와서 픽셀의 색상에 따라 결정을 시도했습니다. 그러나 배경이 다채 롭기 때문에, 나는 한 지점에 도달 할 수 없었다.
모든 도움을 주시면 대단히 감사하겠습니다. 미리 감사드립니다!
포인트가 원하는 영역에 없으면 false를 반환하려면 사용자 정의 버튼에서이 메서드를 재정의해야합니다. 난 당신이 이런 식으로 가야 제안 : 공공 정적 MyButton 클래스가하여 ImageButton { ... @Override 공공 부울 dispatchTouchEvent (MotionEvent 이벤트) { INT를 iX 관리 = (int)를 event.getX() 확장; int iY = (int) event.getY(); // TODO 또는 더 정교한 픽셀 값 기반 조건을 사용하십시오. () 그릇된; } return super.dispatchTouchEvent (이벤트) } } – Nagaraja