2011-11-26 3 views
0

지금 필사적으로 정말 도움이 필요합니다. 이미지가 화면 오른쪽에서 이미지 안으로 들어가기를 원합니다.Android TranslateAnimation - 화면의 오른쪽에서 화면으로 이미지 이동

처음에는 이미지가 화면 영역 밖에 있습니다. 그러나 이벤트를 기반으로 슬라이드를 삽입하고 싶습니다.

어떻게 수행 할 수 있는지 알고 계십니까? 온라인 애니메이션 튜토리얼 (http://developerlife.com/tutorials/?p=343)에서 "애니메이션 효과가 화면 영역을 넘어 확장되면 해당 경계 밖으로 잘립니다"라고 읽었습니다.

따라서이 자습서에 따르면 이는 불가능합니다. 그러나 안드로이드 2.2 잠금 화면을 기억하십니까? 두 이미지 (잠금 해제 및 묵음)는 각각 화면의 왼쪽과 오른쪽에서 밀어 넣기 위해 사용되었습니다.

내 이미지를 화면의 왼쪽에서 밀어 넣을 수는 있지만 오른쪽에서 만들 수는 없습니다. 내가 어떻게 이런 일을 할 수있는 어떤 아이디어가 ???

내 코드를보고 싶으면 그 코드를 올려 놓을 수 있습니다.

답변

3

이것은 실제로 매우 간단합니다. 레이아웃에서 ImageView를 애니메이션 끝 부분에 배치하고 레이아웃 필요에 따라 보이지 않게 INVISIBLE 또는 GONE으로 설정합니다. 그런 다음 이벤트가 발생하면 RELATIVE_TO_PARENT를 사용하여 1.0의 x 좌표 (오른쪽 끝까지) 및 대상 x 좌표의 유형이 0.0 인 RELATIVE_TO_SELF 인 시작 좌표로 TranslateAnimation을 시작하여 이미지가 형세. 애니메이션을 시작할 때 가시성을 켜야합니다.

추신. ImageView가 중첩 된 ViewGroup이 화면의 오른쪽으로 확장되는 것이 중요합니다. 그렇지 않으면 ImageView가 부모의 경계에 대해 클리핑됩니다.

0

다음 코드를 사용할 수 있습니다. TranslateAnimation animation = new TranslateAnimation (-970.0f, 2000.0f, 0.0f, 0.0f); ImageView.startAnimation (animation);

첫 번째 두 매개 변수는 어느 위치에서 어떤 위치로 이미지를 가로로 이동시킬 것인지를 지정하는 데 사용됩니다. Nexus 9 탭을 사용 중입니다. 여기서 이미지는 화면 바깥 쪽에서 오른쪽 끝으로 이동합니다.

관련 문제