2012-06-28 3 views
0

ImageView에 onTouchListener가 있으며 event.getX() 또는 getY()를 사용합니다. 내 목표는 사용자가 내 이미지의 특정 부분을 터치 할 때 이미지를 표시하고 대화 상자 또는 다른 것을 실행하는 것입니다. 문제는 다른 화면에서 내 이미지보기의 동일한 부분에 대해 X 및 Y 값이 변경된다는 것입니다.이미지보기에서 터치 이벤트 coordonate 가져 오기

모든 화면에서 픽셀 단위로 이벤트의 실제 위치를 얻으려면 어떻게해야합니까? 예를 들어 안드로이드 얼굴을 표시하고 사용자가 눈을 클릭하면 어떤 작업을 수행하고 싶습니다. ...

답변

0

고정 된 해상도를 사용하여 지정된 지점에서 터치를 감지하는 코드를 작성하십시오. 480x640. 그런 다음 DisplayMetrics를 사용하여 앱이 실행중인 기기의 해상도를 가져옵니다. xScale 및 yScale (예 : DisplayMetrics.widthPixels/480)을 계산하고 이러한 배율 인수로 x와 y를 곱합니다.

+0

좋아, 해보겠습니다. –

+0

화면의 현재 농도 값을 사용하면 효과적입니다. –