2016-05-23 10 views
2

私のアプリケーションでは、アクティビティを右から左にアニメーション化したいと考えています。今まで私はこれを試しています:前のアクティビティを終了しないでアクティビティをアニメーション化する方法

startActivity(intent); 
finish(); 
overridePendingTransition(R.anim.slide_in_right,R.anim.slide_out_left); 

これはうまく動作しましたが、私の以前の活動は終了しました。以前の活動を終わらせることなく、同じアニメーションをやりたい

次のようにしようとしているとき:

startActivity(intent); 
overridePendingTransition(R.anim.slide_in_right,R.anim.slide_out_left); 

のみ、新たに開始した活動はアニメーションと、前の活動に入るには、任意の効果を取得しています。前のアクティビティを終了することなく両方のアクティビティをアニメーション化するにはどうすればよいですか?

答えて

0

この場合、ハンドラを使用する必要があります。 最初のアクティビティでハンドラに時間を設定してください。この間、最初のアクティビティをアニメートします。このステップハンドラの後に2番目のアクティビティにコントロールを与え、2番目のアクティビティでアニメーションを開始します

0

アニメーションが問題であると思われます。

slide_in_right.xml

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

slide_out_left.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false"> 
    <translate 
     android:duration="@android:integer/config_mediumAnimTime" 
     android:fromXDelta="0%" 
     android:fromYDelta="0%" 
     android:toXDelta="-100%" 
     android:toYDelta="0%" /> 
</set> 
:私は、次のアニメーションファイルを使用して同じ効果を持っています
関連する問題