2012-11-13 2 views
0

액티비티에 대한 커스텀 애니메이션이 필요한 어플리케이션을 개발 중입니다. 좀 더 구체적으로 말하면 하나의 단편과 활동이 있습니다. 사용자가 조각에서 ListView의 항목을 클릭하면 사용자는 새 활동으로 이동하게됩니다.이 활동은 기본 애니메이션 대신 아래쪽에 있어야합니다 (페이드 인으로 생각합니다). 나는 그것을 봤고 몇 가지 해결책을 찾았지만 대부분은 한 활동에서 다른 활동으로 옮겨졌다. 그래서 그들은 사용액티비티 용 사용자 정의 애니메이션

내가 조각에서 두 번째 작업을 호출하고 있기 때문에
Intent intent = new Intent(this.getActivity() ,x.class); 
getActivity().startActivity(intent); 
overridePendingTransition(R.anim.slide_in, R.anim.slide_out); 

, 안드로이드는이 방법 (overridePendingTransition)를 지원하지 않습니다. 아무도 이걸 극복 할 수있는 어떤 방법을 말해 줄 수 있습니까? 간단히 말해, 사용자가 단편에서 두 번째 활동으로 이동하면 두 번째 활동은 정상적인 애니메이션이 아니라 맨 아래에서 이루어져야합니다.

미리 감사드립니다.

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     overridePendingTransition(R.anim.anim_right_to_center, R.anim.anim_hold); 
     setLayoutContent(R.layout.myactivtiy); 
} 

하고 애니메이션을 밖으로 사라하려면이 사용해야합니다 :

@Override 
    public void onPause(){ 
     //todo detach from updater 
     super.onPause(); 
     overridePendingTransition(R.anim.anim_hold, R.anim.anim_center_to_right); 
    } 

R.anim.center_to_right을

답변

0
애니메이션이라고 할 활동에서

이를 사용해야합니다 :

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="500" 
     android:fromXDelta="100%" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:toXDelta="0%"> 

,

곳 R.anim.anim_hold :

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="500" 
     android:fromXDelta="0%" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:toXDelta="0"> 

관련 문제