【发布时间】:2011-07-16 16:55:51
【问题描述】:
我在使用或理解如何弹出时遇到问题 后台堆栈的 FragmentTransactions 处理自定义 动画。具体来说,我希望它能够调用“out”动画,但是 它似乎没有。
我有一个简单的方法来处理一个片段事务 (FragmentTransaction) 我在其中添加片段并应用自定义 过渡,使其淡入/淡出。我也将这个添加到 后台堆栈,以便用户可以撤消该事务 后退按钮,本质上是导航到片段之前的状态 加入。
protected void changeFragment() {
FragmentTransaction ft = fm.beginTransaction();
ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
ft.add(R.id.fragment_container, new TestFragment());
ft.addToBackStack(null);
ft.commit();
}
一切都很好,但是当用户点击 后退按钮,过渡动画不反转。我所期望的 是当片段被删除时,它会使用淡出 动画。相反,它似乎弹出(没有动画)然后 容器似乎消失了。我不确定这到底是什么 正在发生,但片段绝对不会淡出。
我的应用程序使用兼容性库来添加片段支持, 但我认为这也适用于 Honeycomb (android-11)。 有谁知道我是不是在这里做错了什么 只是期待太多?理想情况下,我想为 片段类似于 Gmail(在 Xoom 上)关于 单击消息向前移动,然后使用返回返回 按钮。最好不必覆盖后退按钮 功能并跟上我自己的片段状态,因为我可以 有几个我想退出的“交易”,我是 不喜欢重新发明轮子。
在 Android 开发者组也问过:http://groups.google.com/group/android-developers/browse_thread/thread/1136a3a70fa0b6e9
【问题讨论】:
-
我也遇到了这个问题,在这里提交了错误报告code.google.com/p/android/issues/…
-
请给上面的错误报告加星标。
-
已加星标。感谢您将其提交为布格。在这样做之前,我想再尝试一下。
-
... 并且该错误已得到修复。 3.1 版本的修复来得太晚了;它将在即将发布的版本中。
-
@Chet:能否请您发布修复的详细信息作为答案,以便我们可以将其从未答复列表中删除?谢谢。
标签: android animation transactions transitions android-fragments