익명님께서 말씀하셨듯, 모든 버튼은 사각형이에요.
만드신 배경이 투명한 이미지의 사이즈가 있겠죠. 가로세로 픽셀수 요. 동그라미 이미지 지만
실제로 적용된것은 투명한 네모바탕에 동그라미가 들어있을뿐 인것이죠. 동그라미로 보이지만 사실은 네모라는것.
가로100px 세로100px 의 이미지를 기본으로 버튼을 만들었다면 가로세로 100px의 버튼이 나오고 말씀하신데로
사각형 부분을 터치하면 클릭이 되게됩니다.
동그라미를 예로들어서, 온클릭리스너가 아닌 터치리스너를 구현해야합니다.
터치리스너를 구현해서 좌표값 계산을 하여, 터치된 부분이 동그라미 영역 안쪽인지 바깥쪽인지 구별을 한 후,
안쪽이라면 원하시는 처리를, 아니라면 안하면 됩니다.
쉬운예를 들어서, 반지름 50의 원이 있다고 칩시다. 그리고 이 원의 중심점의 좌표를 알고있구요. 그걸 (x1, y1) 이라고 하죠.
내가 화면 어느부분을 터치했습니다. 그곳의 좌표가 (x2, y2) 입니다.
피타고라스의 정리를 활용하여, (x2-x1)^2 + (y2-y1)^2 을 계산하면 x1, y1 에서 x2, y2 까지 거리의 제곱이 나오게됩니다.
즉, 위 식의 계산결과가 원의 반지름의 제곱값인 50^50 = 2500보다 작으면 원 내부를 터치한것이고, 2500보다 크면 원 바깥을 클릭한것이죠. 어떤부분을 터치했던, 원의 중심점과의 거리가 반지름보다 작으면 원의 내부이고, 그렇지않으면 원의 외부 인것입니다.
2500보다 작다면 원하시는처리를, 아니면 안하시면 됩니다.