16
在我的活动中,只需轻触一个按钮,就可以使用自定义动画替换当前片段,如本例中所示。在片段管理器上调用popBackStack时的自定义动画
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_anomalie:
Fragment contentFragment = getFragmentManager().findFragmentById(R.id.content);
if(contentFragment instanceof AnomalieListFragment)
{
getFragmentManager().popBackStack();
return true;
}
else
{
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);
anomalieFragment = new AnomalieListFragment();
ft.replace(R.id.content, anomalieFragment);
ft.addToBackStack(null);
ft.commit();
}
...
但是,popping back the stack不显示任何动画。 有没有办法指定一个自定义动画,就像我们在使用setCustomAnimations方法的FragmentTransaction中做的那样?
保存时要播放的动画我很多时间。谢谢 !! – Yahel 2014-10-13 13:35:14
感谢这工作很好。使代码工作的是使用4参数过载调用的'setCustomAnimations'方法。 '2参数不在'popBackStack'上动画。 – Francois 2015-12-29 07:31:22
请注意,.setCustomAnimations需要位于.replace之前。 – Codeversed 2017-11-07 19:06:57