android – 当片段与动画白色空白屏幕之间切换时出现

我有问题,当我在片段之间切换白色屏幕出现在新片段出现之前我不知道什么是问题

这是我的动画

动画/ fragment_slide_left_enter

<translate
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromXDelta="100%p"
    android:interpolator="@android:interpolator/decelerate_quint"
    android:toXDelta="0%p" />

<alpha
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromAlpha="0.0"
    android:interpolator="@android:interpolator/decelerate_quint"
    android:toAlpha="1.0" />

动画/ fragment_slide_left_exit

<translate
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromXDelta="0%p"
    android:interpolator="@android:interpolator/decelerate_quint"
    android:toXDelta="-100%p" />

<alpha
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromAlpha="1.0"
    android:interpolator="@android:interpolator/decelerate_quint"
    android:toAlpha="0.0" />

动画/ fragment_slide_right_enter

<translate
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromXDelta="-100%p"
    android:interpolator="@android:interpolator/decelerate_quint"
    android:toXDelta="0%p" />

<alpha
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromAlpha="0.0"
    android:interpolator="@android:interpolator/decelerate_quint"
    android:toAlpha="1.0" />

**anim/fragment_slide_right_exit**

 <translate
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromXDelta="0%p"
    android:interpolator="@android:interpolator/decelerate_quint"
    android:toXDelta="100%p" />

<alpha
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromAlpha="1.0"
    android:interpolator="@android:interpolator/decelerate_quint"
    android:toAlpha="0.0" />

这是我加载片段的函数

public void loadFragment(Fragment fragment,String tag,boolean isShow,String key,String value,boolean isBack)
{
    bundle.putString(key,value);
    fragment.setArguments(bundle);
     fragmentTransaction = fragmentManager.beginTransaction();
    if (OldFragment != null) {
        Log.d("fragment--->","yes------");
        fragmentTransaction.detach(OldFragment);
    }
        if(isShow){
       //fragmentTransaction.setCustomAnimations(R.anim.slide_in_right,R.anim.slide_out_left);
            fragmentTransaction.setCustomAnimations(R.anim.fragment_slide_left_enter,R.anim.fragment_slide_left_exit,R.anim.fragment_slide_right_enter,R.anim.fragment_slide_right_exit);
        }
    fragmentTransaction.replace(R.id.ll_fragment,fragment,tag);
    if(isBack){
        fragmentTransaction.addToBackStack(null);
    }
    fragmentTransaction.commit();
    OldFragment=fragment;
}

解决方法

我也有这个问题,因为所有出现的解决方案只是设置窗口背景,我真的没有到达任何地方.比我想象的=>让我们尝试在我正在推动透明的片段中设置rootview的背景.瞧,这就是诀窍.所以我推送的片段的根视图在xml中看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/transparent">

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...