在片段之间滑动左/右动画

lud*_*riv 6 animation android android-fragments

我在这里发帖提问,因为我无法找到问题的解决方案.我读了很多关于android动画的东西.

我实际上开发了一个Android 4.0应用程序,我需要动画片段之间的过渡动​​画(不是布局).

类似的帖子,使用布局,但没有关于片段的更精确

这是我的不完整代码:

活动代码

private void showFragment(final Fragment fragment)
{
    if (null == fragment)
        return;

    FragmentTransaction ft = getFragmentManager().beginTransaction();

    ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);

    ft.replace(R.id.fragment_container_layout, fragment, fragment.getClass().getSimpleName()).commit();

}
Run Code Online (Sandbox Code Playgroud)

R.anim.slide_in_left

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="@android:integer/config_mediumAnimTime">

    <translate
        android:fromXDelta="100%p"
        android:toXDelta="0" />

    <alpha
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />

</set>
Run Code Online (Sandbox Code Playgroud)

最后是R.anim.slide_out_right

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_mediumAnimTime" >

    <translate
        android:fromXDelta="0"
        android:toXDelta="-100%p" />

    <alpha
        android:fromAlpha="1.0"
        android:toAlpha="0.0" />

</set>
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我得到一个例外: 12-27 15:26:55.566:E/AndroidRuntime(27699):java.lang.RuntimeException:未知的动画名称:translate

你有什么想法解决这个问题吗?

lud*_*riv 2

问题解决了!

就像 Piyush Gupta 所说,首先我必须有一个需要制作动画的自定义子FrameLayoutFragment

其次,我不能使用R.animR.animator喜欢另一个类似的帖子(有问题的链接)。

谢谢你们 !