2
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>
4

0 回答 0