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