我想要使用FragmentTransaction.setCustomAnimations实现以下效果。FragmentTransaction动画滑过顶部
- 片段A是显示
- 替换片段A与片段B片段A的更换期间应保持可见。片段B应该从右侧滑入。片段B应该在片段A的顶部滑动。
我没有问题在动画设置中获取幻灯片。我的问题是,我无法弄清楚如何使片段A保持原状,并且在动画中的幻灯片正在运行时处于片段B下。无论我做什么,似乎碎片A都是顶级的。
我该如何做到这一点?
这里是FragmentTransaction代码:
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_right, R.anim.nothing, R.anim.nothing,
R.anim.slide_out_right);
ft.replace(R.id.fragment_content, fragment, name);
ft.addToBackStack(name);
ft.commit();
正如你可以看到我已经定义了一个动画R.anim.nothing为“走出去”的动画,因为我其实不想片段A做任何其他而不仅仅是在交易过程中保持它的位置。
这里是动画资源:
slide_in_right.xml
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="100%p"
android:toXDelta="0"
android:zAdjustment="top" />
nothing.xml
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime"
android:fromAlpha="1.0"
android:toAlpha="1.0"
android:zAdjustment="bottom" />
我已经提交了一个错误报告,因为当前的Z排序是错误的。 https://code.google.com/p/android/issues/detail?id=163384&thanks=163384&ts=1428443402 – sbaar