问题描述
我有问题,当我在片段之间切换白色屏幕出现在新片段出现之前我不知道什么是问题
这是我的动画
动画/ 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;
}
1楼
我也有这个问题,因为所有出现的解决方案只是设置窗口背景,我真的没有到达任何地方。 比我想象的那样=>让我们试着在我推进透明的片段中设置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">