2012-10-01 134 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