Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 打开/关闭碎片适配器时的动画_Android_Android Fragments_Android Animation - Fatal编程技术网

Android 打开/关闭碎片适配器时的动画

Android 打开/关闭碎片适配器时的动画,android,android-fragments,android-animation,Android,Android Fragments,Android Animation,我想在将片段附加到包含FragmentPager的活动时播放自定义动画。不幸的是,使用FragmentTransaction.setCustomAnimations(int,int)的正常方法只能部分工作。无论我做什么,只会显示过渡的输出动画或输入动画 以下是我到目前为止的情况: FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.setCustomAn

我想在将片段附加到包含FragmentPager的活动时播放自定义动画。不幸的是,使用
FragmentTransaction.setCustomAnimations(int,int)
的正常方法只能部分工作。无论我做什么,只会显示过渡的输出动画或输入动画

以下是我到目前为止的情况:

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.setCustomAnimations(R.anim.fadein, R.anim.fadeout, R.anim.fadein, R.anim.fadeout);
    transaction.add(R.id.fragmentSpace, hostingFragment, CURRENT_FRAGMENT);
    transaction.addToBackStack(null);
    transaction.commit();
在本例中,仅显示新片段的动画中,旧片段在新附加的片段下保持可见。同时,在弹出后堆栈时不会播放动画

transaction.replace(…)
替换
transaction.replace(…)
有助于删除底层片段,但仍然存在无法显示其out动画的问题。在这种情况下,底层片段就消失了。至少在.replace案例中显示了pop动画


有关示例项目,请参见:(animations branch)

您应该在片段事务上使用
remove()
replace()
,以除去另一个片段。

如上所述:transaction.replace()也没有帮助。它无法显示替换片段的输出动画。刚刚测试了组合remove(Fragment)和add(Fragment),但它实际上与调用replace相同。