【发布时间】:2017-02-13 06:00:09
【问题描述】:
我有一个问题,当我在片段之间切换时,在新片段出现之前出现白屏,我不知道是什么问题
这是我的动画
动画/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;
}
【问题讨论】:
-
试着把window.setBackgroundDrawable(new ColorDrawable(Color.BLACK));在片段上,您可以更改所需的颜色
-
bt 我不想要任何颜色,我需要用动画从一个片段切换到另一个片段,我想删除那个空白屏幕@Divyang Panchal
-
您找到解决方案了吗?
标签: android animation fragment