我在这里发帖提问,因为我无法找到解决问题的方法。我读了很多关于android动画的东西。
我实际上开发了一个android 4.0应用程序,我需要在片段之间进行动画转换(而不是布局)。
Similary post, worked with layout but no more precision about fragments
这是我的不完整代码:
活动代码
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();
}
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>
最后 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>
当我运行此代码时,我得到一个例外: 12-27 15:26:55.566:E / AndroidRuntime(27699):java.lang.RuntimeException:未知的动画师名称:翻译
你有什么想法解决这个问题吗?
答案 0 :(得分:1)
问题解决了!
就像Piyush Gupta所说的那样,我必须有一个FrameLayout
每Fragment
的自定义子类,我需要先制作动画。
其次,我不得像其他类似帖子(相关链接)那样使用R.anim
,R.animator
。
谢谢大家!