본문 바로가기

ANDROID

[안드로이드] 특정 이미지뷰의 위치로 아이콘을 움직이자

기존에는 애니메이션을 단순히 수치로만 해서 어느만큼 이동하는 정도를 구현할 때는 쉬웠는데, 레이아웃 안의 특정 뷰로


이동시키는 문제는 다른 문제였다. 일반적으로 기기 화면의 중앙 값을 잡아 이동시키는 것도 생각보다 복잡했고


방안으로 중앙에 정렬해 둔 이미지뷰의 위치를 구해 그곳으로 이미지를 이동시키는 방법을 성공하고자 했다.


우선 뷰에 관련된 좌표를 구할 때 onCreate 이후에 그려지는 경우가 대부분이기 때문에 onCreate 외부에서 좌표를 구해야 한다는 정보를 들었다.


현재 구현하고 있는게 어떤 이미지 버튼을 클릭했을 때 이미지 버튼이 중앙으로 이동하는 것이었기 때문에,


동작 처리 및 UI를 손대주는 Handler 안에서 좌표를 구하고 애니메이션을 실행해주는 것으로 문제를 해결할 수 있었다.




이상하게도 Y 좌표는 중앙에 위치한 아이콘의 Y 좌표에서 2를 나눠주는 것으로 문제없이 이미지가 이동하는 것을 볼 수 있었는데


X 좌표는 별도로 중앙 아이콘의 넓이를 구해 4를 나눠준 값을 빼주어야 이동한 아이콘이 비로소 중앙 아이콘과 일치하게 움직이는 걸


볼 수 있었다.


어쨌든 이제 다시 한 고비 넘겼다. 이미지 하나 이동하는데 생각보다 많은 시간이 들었다..


이를 응용하면 다른 곳을 클릭했을 때 원위치로 이동하는 애니메이션을 구현하는데에도 충분히 활용할 수 있을것으로 보인다.


:)