【发布时间】:2014-01-03 13:27:20
【问题描述】:
我的FragmentActivity 在开头显示一个Fragment,当我按下Button 时显示第二个。直到这里,这很容易。但我在动画方面遇到了一个问题。
我添加了第二个片段:
mTChild.add(R.id.container, mFragChild).addToBackStack(null).commit();
为了让它更“活泼”,我在添加Fragment之前声明了一个CustomAnimations,它看起来像这样:
mTChild.setCustomAnimations(R.anim.slide_in, R.anim.alpha_out, R.anim.alpha_in, R.anim.slide_out);
mTChild.add(R.id.container, mFragChild).addToBackStack(null).commit();
我使用了这个方法setCustomAnimations(int,int,int,int) (参数:进入,退出,popBack 进入,popBack 退出) 你可以在setCustomAnimations Documentation 上看到。只是为了了解我的(基本)动画 xml:
- slide_in > 新片段从右向左滑动。
- slide_out > back stack = 从左到右的片段幻灯片。
- alpha_out > 旧片段以 alpha 100 --> 0 消失。
- alpha_in > back stack = 旧片段以 alpha 0 --> 100 出现。
在这一步,我得到了我想要的从右侧滑入/滑出新片段,它发生在旧片段上方。但是对于通常留在后面并随着 alpha 消失/出现的旧片段的效果不会发生。
我做错了什么?因为,CustomAnimations 发生但不是针对旧片段(它没有被删除)。
感谢您的回答。
【问题讨论】:
标签: android android-fragments android-animation android-fragmentactivity