2017-10-13 8 views
0

私は、下から上にアニメーションのあるフラグメントを追加しています。そして、backを押すか、popBackStack()が呼び出されたときに上から下に移動する必要があります。フラグメントの終了アニメーションが機能しないのはなぜですか?

val confirmFragment = ConfirmFragment.Companion.newInstance(item) 
val transaction = MainActivity.getMainActivity(context)!!.supportFragmentManager.beginTransaction() 
transaction.addToBackStack(tag) 
transaction.setCustomAnimations(R.anim.slide_in_bottom, R.anim.slide_out_top) 
transaction.replace(R.id.over_view, confirmFragment, tag) 
transaction.commit() 

ExitAnimation(XML)

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

EnterAnimation(XML)

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

アニメーション作品を入力するが、フラグメントが存在する場合には、

+1

あなたがしたい: 'setCustomAnimations(int型入力し、int型出口、int型popEnter、int型popExit)'代わりに。 –

+0

@マークキーンありがとう あなたのコメントを回答として書いてください。私はそれを受け入れることができます。 –

答えて

2

setを削除動作しませんタグをXMLコードに追加します。

これに変更してください。

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

そして

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="1700" 
    android:fromYDelta="0%p" 
    android:toYDelta="-100%p"> 
</translate> 
関連する問題