마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 화면의 중앙 좌표를 구할려면 어떻게 해야 하나요?ㅜㅜ

0 추천

이미지뷰를 맨 처음에 center에 위치 시켰습니다. 

그리고 멀티터치 이벤트를 이용해서 이미지뷰의 크기를 늘이거나 줄이기도 하고(zoom기능)

위치를 이동시키기도 합니다. 

그런데 맨 처음 이벤트가 시작 할 때 center에 위치 시킨 이미지가 좌측 상단으로 가버립니다. ㅜㅜ 

결국 맨처음 초기 값이 화면의 중앙이 아닌 거 같아서 고쳐줄려고 하고 있는데 안드로이드의 중앙값을 구하는 방법이

구글에도 잘 안나와있네요 ㅜㅜ 

뭔가 제가 놓치고 있는 부분이 있나봅니다. 

float displayX = getWindowManager().getDefaultDisplay().getWidth();
float displayY = getWindowManager().getDefaultDisplay().getHeight();
float centerX = displayX / 2;
float centerY = displayY / 2;

matrix.postTranslate(centerX, centerY);

 

이런식으로 초기 매트릭스의 위치를 화면 가운데에 놔둘려고 하는데 어떠한 방법을 써도 안되네요.

도와주세요.

안드로이덕후 (190 포인트) 님이 2015년 3월 13일 질문

1개의 답변

0 추천
객체를 중앙 정렬시킬때는 객체의 0,0의 위치로 설정하기때문에 화면의 중앙 점에서 객체 자체의높이, 너비를 반으로 나눠서 중앙 좌표의 높이 너비에 마이너스 해주셔야 중앙 정렬이 됩니다.

터치로 이미지 확대 축소및 이동을 구현하시는거라면

touchImageView를 가져다 쓰시면 아주 간단합니다.

https://github.com/MikeOrtiz/TouchImageView/blob/master/src/com/ortiz/touch/TouchImageView.java
이드로이드 (22,930 포인트) 님이 2015년 3월 13일 답변
감사합니다. 해결했습니다!!!!!
...