MFragment fragment = new MFragment();
final FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.slide_in_right,
R.anim.slide_out_left, R.anim.slide_in_left,
R.anim.slide_out_right);
fragmentTransaction.add(R.id.container, fragment,
"frag1");
fragmentTransaction.commit();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
MFragment fragment = new MFragment();
final FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.slide_in_right,
R.anim.slide_out_left, R.anim.slide_in_left,
R.anim.slide_out_right);
fragmentTransaction.replace(R.id.container, fragment)
.addToBackStack("frag2");
fragmentTransaction.commit();
}
}, 3000);
当我加载FragmentActivity
并添加frag1时,它会添加适当的动画,从右向左滑入。
但是应该替换frag1的第二个片段frag2出现了淡入/淡出动画,这是默认的。当我按下后退按钮时frag2 会弹出淡入淡出动画,而不是从左向右滑出。
动画/slide_in_right.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="200"
android:fromXDelta="100%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>