java - 更改已在堆栈中的 fragment 的动画

标签 java android animation android-fragments

假设我运行以下代码将 fragment 放入堆栈。它为我最初查看 fragment 和退出 fragment 时设置动画。

FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.slide_left,
                                        R.anim.no_anim,
                                        R.anim.no_anim_show,
                                        R.anim.slide_right_away);
fragmentTransaction.replace(R.id.container, fragment, tag);
fragmentTransaction.addToBackStack(tag);
fragmentTransaction.commit();

如果我想稍后更改退出动画,我该怎么做?比如,如果我有以下代码:

getFragmentManager().popBackStack();

但我想要一个不同于我最初放入堆栈的动画。

最佳答案

以下是我尝试过的,并且有效:

getFragmentManager().beginTransaction().setCustomAnimations(
        R.anim.slide_left, R.anim.new_anim)
        .remove(fragment)
        .commit();

因此,看起来我必须在新的 fragment 事务中显式“删除” fragment ,以便使用新的退出动画

关于java - 更改已在堆栈中的 fragment 的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22465113/

相关文章:

java - 具有单元格选择和多个间隔选择的 JTable 显示不正确的选择

java - 无法以编程方式从android中的外部存储中删除文件

android - 如何在 android SQLite 数据库中存储和检索图像并将它们显示在 gridview 上

android - java.lang.NullPointerException : displaying records from database in an expandable listview 异常

javascript - jQuery 事件传播?

animation - 分享很棒的 CSS3 技巧的地方

java - 对字符串列表进行排序

java - 如何将java项目的maven Artifact 部署/托管到Google Cloud Storage?

java - 游戏对象旋转形成椭圆形而不是圆形

java - 无法从线程上下文类加载器加载资源?