我正在尝试在执行片段事务时放入幻灯片并滑出右侧动画。动画工作正常。但是,我正在制作一个白色屏幕,同时动画片段。我厌倦了谷歌提供的所有可能的解决方案。但是,它们都没有奏效。这就是我目前正在做的事情。
/** enter_from_left.xml **/
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="-100%" android:toXDelta="0%"
android:duration="500"/>
</set>
/** enter_from_right.xml **/
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="100%" android:toXDelta="0%"
android:duration="500" />
</set>
/** exit_to_left.xml **/
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="0%" android:toXDelta="-100%"
android:duration="500"/>
</set>
/** exit_to_right.xml **/
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="0%" android:toXDelta="100%"
android:duration="500" />
</set>
更换容器中的片段:
public static void replaceAndAddToBackStack(final FragmentActivity activity, final int containerId,
final Fragment fragment, String tag, int enter, int exit, int popEnter, int popExit) {
try {
FragmentTransaction transaction = activity.getSupportFragmentManager().beginTransaction();
transaction.setCustomAnimations(enter, exit, popEnter, popExit);
transaction.replace(containerId, fragment);
transaction.addToBackStack(tag);
transaction.commitAllowingStateLoss();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
enter, exit, popEnter, popExit
指的是 - &gt; R.anim.enter_from_right, R.anim.exit_to_left, R.anim.enter_from_left, R.anim.exit_to_right
当我为Chrome自定义标签应用相同的转换时,转换非常顺利。没有白屏。为什么白屏仅出现在片段事务中。
先谢谢
答案 0 :(得分:-1)
我遇到了同样的问题。尝试将透明背景更改为framelayout。
<FrameLayout
android:id="@+id/fragmentContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000"/>
亲切的问候!