我试图进行简单的过渡。我已将此添加到my Fragment的onCreate方法中。我查看了FragmentTransaction文档,但是当我将其添加到活动中时,我看不到任何需要指定的内容。我从下面的代码中得不到任何效果。谢谢你的帮助。
Slide slide = new Slide(Gravity.BOTTOM);
slide.addTarget(R.id.cardview_container);
slide.setInterpolator(
AnimationUtils.loadInterpolator(getContext(), android.R.interpolator.linear_out_slow_in));
slide.setDuration(1000);
setEnterTransition(slide);
答案 0 :(得分:0)
在将幻灯片转换添加到活动之前设置幻灯片转换,而不是在onCreate内部。
例如
Fragment fragment = new FragmentYouWantToAdd()
Slide slide = new Slide(Gravity.BOTTOM);
slide.addTarget(R.id.cardview_container);
slide.setInterpolator(
AnimationUtils.loadInterpolator(getContext(), android.R.interpolator.linear_out_slow_in));
slide.setDuration(1000);
fragment.setEnterTransition(slide); // Setting transitions to the fragment
getSupportFragmentManager().beginTransaction()
.add(R.id.container, fragment)
.commit()
答案 1 :(得分:0)
您还可以使用XML简单地向片段添加转换。通过在anim
文件夹中创建转场。例如
让过渡,
<强> enter_from_left 强>
<?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="460"/>
</set>
在转换过程中,设置在创建或输入时从左幻灯片转换到您的片段的输入。 然后将其设置为您的片段,
YourFragment fragment = new YourFragment();
fragment.setEnterTransition(R.anim.enter_from_left);
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.container, fragment);
transaction.commit();
如果您想添加退出转换,那么只需使用setCustomAnimations()
即可。如,
fragment.setCustomAnimations(enterTransition, exitTransition);