2016-08-12 3 views
1

view.animate() 메소드를 사용하여 다른 뷰 대신 뷰를 이동하려고합니다. 나는 다음과 같은 레이아웃이view.animate()를 사용하여 정확히 다른 뷰 위에 뷰를 배치하십시오.

:

그래서이이 시나리오 탭은/레드 이미지를 클릭 할 때, 나는 이미지가 이동하는 것을 원하는 Initial layout (스크린 샷)

그리고 (즉 애니메이션/번역) 구름 프레임이있는 곳에서 정확하게. 그러나, 나는이 코드를 사용할 때 :

view.animate().x(target.getX()).y(target.getY()).setDuration(200).start(); 

결과가를 다음 My result (스크린 샷)

대상 뷰의 실제 좌표가 무엇입니까? 이미지가 대상보기의 경계에 정확하게 배치되지 않는 이유는 무엇입니까? 보기의 크기는 동일합니다.

+0

여백/패딩이 문제인지 궁금합니다. 뷰 중 하나에서 뷰를 설정하면 뷰를 제거하고 어떤 일이 발생하는지 볼 수 있습니까? 이것이 문제라면 대상 X와 Y를 계산할 때이 여백/패딩을 뺍니다. – liminal

+0

보기가 깨끗합니다. 여백이나 패딩을 설정하지 않았습니다. – Emilian

답변

0

target.getX()를 사용하면 화면에서 절대 x 위치를 얻지 못합니다. 사용을 제안합니다. View.getLocationOnScreen()

+0

나는 노력했다. 같은 문제. – Emilian