flip Effect使用getSupportFragmentManger进行片段事务处理

时间:2016-09-26 13:34:27

标签: android android-fragments animation

  

flip_left_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromXDelta="90%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"/>
</set>
  

flip_left_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromXDelta="0%p"
        android:interpolator="@android:interpolator/decelerate_quint"
        android:toXDelta="-90%p" />

    <alpha
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromAlpha="1.0"
        android:interpolator="@android:interpolator/decelerate_quint"
        android:toAlpha="0.0" />
</set>
  

flip_right_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <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" />
</set>
  

flip_right_out.xml

<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" />

我在anim文件夹中有上面四个xml来创建3d翻转效果。

我正在使用getSupportFragmentManager,因此我无法使用对象动画。

我在执行片段事务时通过引用上述动画文件设置了自定义动画,如下所示,

 fm.beginTransaction().setCustomAnimations(R.anim.flip_right_in, R.anim.flip_right_out,
                    R.anim.flip_left_in, R.anim.flip_left_out)
                    .add(R.id.replace, newFragment, "folderContent")
                    .show(newFragment)
                    .addToBackStack(null)
                    .commitAllowingStateLoss();

问题在于上述代码没有发生3d翻转。如何使用getSupportFragmentManager在片段事务处理期间创建3d翻转过渡?

0 个答案:

没有答案