片段的进入和退出过渡未见

时间:2016-07-14 07:05:18

标签: android android-fragments android-5.0-lollipop android-transitions

我有一个简单的活动,它包含一个FrameLayout来加载一个片段。我已经使用Android L的Transition Framework将Fragments Enter和Exit Transitions设置为从底部向上滑动。 Activity的onCreate()有一个函数,它开始FragmentTransaction加载片段。当我的活动开始时,我无法看到片段上的任何进入/退出转换。它只是弹出。但是,要查看我是否正确实现了Transition框架,我在FrameLayout上使用了onClickListener,并在Click上启动了fragmentTransaction。活动开始后,我单击空白的FrameLayout,片段从底部向上滑动,设置为Transition。 但我希望片段的这种转换在创建活动时发生。我哪里错了?

1 个答案:

答案 0 :(得分:0)

要设置进入和退出片段动画的过程动画,您将使用Fragment Manager创建Fragment Transaction

使用以下代码:

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.enter, R.anim.exit);

SampleFragment sampleFragment = SampleFragment.newInstance();

ft.replace(R.id.details_fragment_container, newFragment, "sampleFragment");

// Start the animated transition.
ft.commit();

现在,在anim文件夹中,您将创建两个xml文件,一个用于输入动画,另一个用于退出动画。您将使用objectAnimator标记。输入动画的示例:

<?xml version="1.0" encoding="utf-8"?>
<set>
  <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
    android:propertyName="x" 
    android:valueType="floatType"
    android:valueFrom="-1280"
    android:valueTo="0" 
    android:duration="500"/>
</set>