2011-10-28 8 views
2

Android에서 애니메이션을 이해해야합니다.Android와 활동 사이의 애니메이션

예를 들어, 내 응용 프로그램은 맨 아래에 단추가있는 활동으로 시작합니다. 사용자가 단추를 클릭 할 때 아래쪽에서 위쪽으로 애니메이션이있는 다른 활동이 나타나기를 원하고 단추가 "머리글 "라고 말했습니다.

어떻게하면됩니까?

는 대답을 DecodeGnome 주셔서 감사합니다 다니엘

당신에게

감사합니다! 그것은 작동합니다! (사용되는지 overridePendingTransition의 두 번째 매개 변수를

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<translate 
    android:fromXDelta="0%p" 
    android:fromYDelta="0%p" 
    android:toXDelta="0" 
    android:toYDelta="100%p" 
    android:duration="300" /> 
</set> 

하지만이 작동하지 않습니다

하지만 난이 활동을 종료 할 때 내가 애니메이션에 약간의 문제가, 내가 anim_out.xml를 만들 ?).

나는 중지시에 새로운 overridePendingTransition를 호출하려고() 함수 :

public void onStop(){ 
    super.onStop(); 
    overridePendingTransition(R.anim.top_to_bottom, R.anim.top_to_bottom); 

}

하지만 난이 두 번째 활동 마무리를 호출 할 때 왼쪽에서 오른쪽으로, 난 여전히 (기본 애니메이션을 볼 수)!

누가 나를 도울 것인지 다시 한번 감사드립니다.

+0

, \t @Override \t 공공 부울 onKeyDown에 (INT 키 코드, KeyEvent를 이벤트) { \t \t 경우 (keyCode가 == KeyEvent.KEYCODE_BACK) { \t \t \t finish(); \t \t \t \t \t overridePendingTransition (R.anim.in, R.anim.아웃); \t \t \t return true; \t \t} \t \t return super.onKeyDown (keyCode, event); \t} – DecodeGnome

답변

4

1)에 코드 줄을 넣어)),

2) (이 2 개의 새로운 XML 애니메이션을 추가 예를

3 anim_in.xml & anim_out.xml을 고해상도 폴더에 ANIM라는 폴더를 만듭니다 새로운 활동 onCreate :

overridePendingTransition (R.anim.anim_in, R.anim.anim_out);

Anim_in.xml 예 :

<?xml version="1.0" encoding="utf-8"?> 
<set 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

    <translate 
     android:fromXDelta="0%p" 
     android:fromYDelta="100%p" 
     android:toXDelta="0" 
     android:toYDelta="0%p" 
     android:duration="300" /> 
</set> 

4) 제 활성의 레이아웃의 상부에 버튼 (헤더)를 놓는다.

+0

물론 뒤로 돌아갈 때 애니메이션을 덮어 쓸 수도 있습니다. 의도를 되돌릴 때 overridePendingTransition()을 호출하면됩니다. – DecodeGnome

+1

나는 똑같은 문제를 겪고 있었지만, SO에 대한 다른 질문은 startActivity (intent) 바로 다음에 줄에 overridePendingAnimation()을 가졌습니다. 3 번은 다른 사람들이 잊어 버리거나 빠뜨리는 열쇠입니다. –

+0

간단히 작동하지 않습니다. – m0skit0

-1

사용이 코드 : 나는 일반적으로 BACK 버튼을 무시

 public void onBackPressed() { 
     super.onBackPressed(); 
     overridePendingTransition(R.anim.top_to_bottom, R.anim.top_to_bottom); 
} 
관련 문제