2014-02-10 3 views
1

번역 애니메이션 작업 중이고이 문제가 있습니다.Android - TranslateAnimation 관련 이미지 위치

imgLogo = new ImageButton(this); 
imgLogo.setLayoutParams(new ViewGroup.LayoutParams(100, 100)); 
imgLogo.setBackgroundResource(R.drawable.twitter); 
imgLogo.setX(0.0f); 
imgLogo.setY(0.0f); 
layout.addView(imgLogo); 

final TranslateAnimation moveRight = new TranslateAnimation(0.0f, 410.0f,0.0f, 0.0f); 

moveRight.setFillAfter(true); 
moveRight.setFillEnabled(true); 
moveRight.setDuration(1000); 

애니메이션이이 코드로 잘 작동하면 이미지가 (0,0) -> (410,0)에서 이동합니다.

그러나 이미지 x = 0의 위치를 ​​바꿨을 때; y = 800. 그런 다음 애니메이션을 실행하면 이미지가 (0,800)에서 사라지고 (410,800)에 표시됩니다. 더 이상 움직이지 않습니다.

누구든지이 문제에 대해 도움을 줄 수 있습니까? 고맙습니다.

+0

당신이이 애니메이션으로 무엇을 달성하고자하는 포인트? 또한 화면의 픽셀 크기를 사용하여 애니메이션을 생성하는 가장 좋은 방법이라고 생각하지 않습니다. – GhostDerfel

+0

이미지를 왼쪽에서 오른쪽으로 또는 오른쪽에서 왼쪽으로 원하는 지점으로 이동하고 싶습니다. 처음에는 XML을 사용하려고했지만 작동하지 않았습니다. 내 코드에서 이미지는 (0, 0)이고 (410, 0)을 따라 이동합니다. 위치가 (0, 800)이면 (410, 800), 오른쪽으로 이동해야합니다. 하지만 (0, 800)에서 사라지고 (410, 800)에 나타납니다. : –

+0

내 대답을 시도해보십시오. 내 대답이 완전하지 않다고 생각하면 더 완전한 코드를 게시 할 수 있지만 그 코드 줄만 사용하면됩니다. – GhostDerfel

답변

0

는 왼쪽에서 오른쪽으로 또는 오른쪽에서 왼쪽으로 뭔가를 슬라이드, 그냥 예를 들어 애니메이션을 만들 때 RELATIVE_TO_PARENT를 사용해보십시오 :

Animation slide = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, right?+1.0f:-1.0f,Animation.RELATIVE_TO_PARENT, 0.0f,Animation.RELATIVE_TO_PARENT, 0.0f,Animation.RELATIVE_TO_PARENT, 0.0f); 
+0

답변 해 주셔서 감사합니다.하지만 문제는 위치입니다. (0, 0) 코드를 사용해 보았습니다. 애니메이션 slide = new TranslateAnimation (Animation.RELATIVE_TO_PARENT, right? + 1.0f : -1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0 f, Animation.RELATIVE_TO_PARENT, 0.0f) 위치가 (0, 800) 인 경우 실패했습니다. –

+0

해결책을 찾았습니다. 이미지의 x, y와 관련이 있습니다. 변경했습니다. setX 및 setY를 사용하는 대신 setMargin()에 –

+0

같은 질문을 다른 사람에게 도움이되도록 여기에 답변을 게시하는 것을 잊지 마십시오 – GhostDerfel

관련 문제