带有动画的 Android Fragment Transaction 导致白色闪光

标签 android android-fragments android-animation fragmenttransaction

我有两个 fragment 。 fragment A 最初在 View 中。当用户按下按钮时,Fragment B 会使用下面的方法动画化到 View 中。当我弹出 fragment B 时,它会在 View 之外进行动画处理,但就在它完成时屏幕闪烁白色。不确定是什么原因造成的,似乎只发生在 kit-kat 上而不是 Lollipop 上。使用的动画是在 xml 中定义的向上滑动和向下滑动动画。

@Override
public void loadFragment(BaseFragment fragment, boolean replace, boolean addToBackStack, int animIn, int animOut, int animPopIn, int animPopout) {
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    if (animIn != -1 && animOut != -1 && animPopIn != -1 && animPopout != -1) {
        transaction = transaction.setCustomAnimations(animIn, animOut, animPopIn, animOut);
    } else if (animIn != -1 && animOut != -1) {
        transaction = transaction.setCustomAnimations(animIn, animOut);
    }

    if (replace) {
        transaction = transaction.replace(R.id.container, fragment);
    } else {
        transaction = transaction.add(R.id.container, fragment);
    }

    if (addToBackStack) {
        transaction = transaction.addToBackStack(null);
    }

    transaction.commit();
}

最佳答案

对我来说,这个 bottomBarNavigation、NavigationDrawer 的崩溃动画以及当我使用替换 fragment 时

<FrameLayout
            android:id="@+id/container"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <!--android:animateLayoutChanges="true" //THIS LINE CRASH THE ANIMATIONS-->

关于带有动画的 Android Fragment Transaction 导致白色闪光,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29240385/

相关文章:

java - 为什么Boolean.class是java.lang.Class而String.class是java.lang.String?

android - 在同一个动画 xml 文件中应用两个动画

android - 错误 : null value in entry: blameLogFolder=null

android - 在 camera2 上使用闪光灯拍照会出现 "after"闪光灯(即没有闪光灯)

使用 ant 构建 Android 应用程序 - android_rules.xml 怎么样?

java - 从 Activity 访问 Fragment 的 View

android - 以编程方式将 Fragment 添加到 Kotlin 中的 Activity

android - 如何检查 AlertDialog 是否被销毁

android - 动画 android Gridview 项目

android - 我可以在 onBackPressed() 从返回堆栈中弹出 fragment 之前添加动画吗?