質問: フラグメントトランザクションアニメーション:スライドインおよびスライドアウト フラグメント間のトランザクションをアニメーション化するためのいくつかのチュートリアルを確認しました。私はこのメソッドをアニメーションに使用しましたが、動作します:fragmenttransaction.setcustomanimations(android.r.anim.slide_in_left, android.r.anim.slide_out_right); しかし、アニメーションを反転させたいです。古いフラグメントは左にスライドし、新しいフラグメントは右にスライドしますが、r.animfileの値は私のスコープにとって有用ではないようです。どうすればいいですか?
回答: slide_in_down.xml<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="@android:integer/config_longanimtime" android:fromydelta="0%p" android:toydelta="100%p" /> </set> slide_in_up.xml<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="@android:integer/config_longanimtime" android:fromydelta="100%p" android:toydelta="0%p" /> </set> slide_out_down.xml<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="@android:integer/config_longanimtime" android:fromydelta="-100%" android:toydelta="0" /> </set> slide_out_up.xml<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="@android:integer/config_longanimtime" android:fromydelta="0%p" android:toydelta="-100%p" /> </set> 方向=下 activity.getsupportfragmentmanager() .begintransaction() .setcustomanimations(r.anim.slide_out_down, r.anim.slide_in_down) .replace(r.id.container, new cardfrontfragment()) .commit(); 方向=上 activity.getsupportfragmentmanager() .begintransaction() .setcustomanimations(r.anim.slide_in_up, r.anim.slide_out_up) .replace(r.id.container, new cardfrontfragment()) .commit();