2012-10-01 131 views
3

如何设置动画,当我们在片段中使用addToBackStack()?片段动画addToBackStack

我的旧片段需要保留下来,并且新的片段应该与动画重叠的旧片段并将其显示给用户。

我试过setCustomAnimation()。但我不能。

任何人都可以帮我吗?

+0

你的意思是? http://stackoverflow.com/questions/10886669/how-to-reverse-fragment-animations-on-backstack – ains

回答

1

当您即将添加片段时,您可以使用FragmentTransaction类来设置动画。

因此,像这样......

FragmentManager fm = activity.getSupportFragmentManager(); 
FragmentTransaction ft = fm.beginTransaction(); 

MyFragment fragment = new MyFragment(); 

    ft.add(android.R.id.content,fragment ,TAG); 
    ft.setTransition(FragmentTransaction.TRANSIT_ENTER_MASK); 
    ft.addToBackStack(null); 
    ft.commit(); 

这应该躺在别的没有消除任何顶部的当前片段。 “setTransition”动画会为片段入口设置动画,但我会尝试使用“setCustomAnimations”来完全控制片段的动画效果。

+0

'setTransition'不接受'TRANSIT_ENTER_MASK'的值。 从文档: '为此事务选择标准过渡动画。可能是TRANSIT_NONE,TRANSIT_FRAGMENT_OPEN,TRANSIT_FRAGMENT_CLOSE或TRANSIT_FRAGMENT_FADE之一。' ' – j2ko