gpt4 book ai didi

android - 动画 fragment 和返回堆栈

转载 作者:IT王子 更新时间:2023-10-28 23:40:30 24 4
gpt4 key购买 nike

我在使用或理解如何弹出时遇到问题后台堆栈的 FragmentTransactions 处理自定义动画。具体来说,我希望它能够调用“out”动画,但是它似乎没有。

我有一个简单的方法来处理一个 fragment 事务(FragmentTransaction) 我在其中添加 fragment 并应用自定义过渡,使其淡入/淡出。我也将此添加到后台堆栈,以便用户可以撤消该事务后退按钮,本质上是导航到 fragment 之前的状态加入。

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();
}

一切都很好,但是当用户点击后退按钮,过渡动画不反转。我所期望的是当 fragment 被删除时,它会使用淡出动画。相反,它似乎弹出(没有动画)然后容器似乎消失了。我不确定这到底是什么正在发生,但 fragment 绝对不会淡出。

我的应用程序使用兼容性库来添加 fragment 支持,但我认为这也适用于 Honeycomb (android-11)。有谁知道我是不是在这里做错了什么只是期望太高?理想情况下,我想为 fragment 类似于 Gmail(在 Xoom 上)关于单击消息向前移动,然后使用返回返回按钮。最好不必覆盖后退按钮功能并跟上我自己的 fragment 状态,因为我可以有几个我想退出的“交易”,我是不喜欢重新发明轮子。

在 Android Developers Group 上也有提问:http://groups.google.com/group/android-developers/browse_thread/thread/1136a3a70fa0b6e9

最佳答案

我用这个:

ft.setCustomAnimations(R.anim.slide_in, R.anim.hyperspace_out, R.anim.hyperspace_in, R.anim.slide_out);

当按下后退按钮时,转换会反向工作。

关于android - 动画 fragment 和返回堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5327636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com