Android 配置更改后自定义动画未从返回堆栈加载
Android custom animation isn't loaded from the back stack after configuration change
我使用自定义动画对片段进行动画处理,乍一看效果很好。
代码是:
getActivity().getSupportFragmentManager().beginTransaction()
.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, R.anim.slide_in_left, R.anim.slide_out_right)
.replace(R.id.container, mOverviewFragment)
.addToBackStack(null)
.commit();
XML 例子
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="-50%p" android:toXDelta="0"
android:duration="@android:integer/config_mediumAnimTime"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime" />
</set>
配置更改后问题存在。当 Fragment2 替换 Fragment1 并发生配置更改时,当我点击后退按钮时动画不工作。
有人知道我做错了什么吗?
非常感谢任何提示!
我 运行 遇到过同样的问题。你没有做错任何事;这是一个已知问题。
这里有解释:
Issue 25994: Fragment animations are not being saved across configuration changes
我使用自定义动画对片段进行动画处理,乍一看效果很好。 代码是:
getActivity().getSupportFragmentManager().beginTransaction()
.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, R.anim.slide_in_left, R.anim.slide_out_right)
.replace(R.id.container, mOverviewFragment)
.addToBackStack(null)
.commit();
XML 例子
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="-50%p" android:toXDelta="0"
android:duration="@android:integer/config_mediumAnimTime"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime" />
</set>
配置更改后问题存在。当 Fragment2 替换 Fragment1 并发生配置更改时,当我点击后退按钮时动画不工作。
有人知道我做错了什么吗?
非常感谢任何提示!
我 运行 遇到过同样的问题。你没有做错任何事;这是一个已知问题。
这里有解释: Issue 25994: Fragment animations are not being saved across configuration changes