2016-10-06 40 views
2

我在Viewpager中的片段中有一個RecyclerView,並且從RecyclerView中的項目共享元素到包含片段的DetailActivity。我正在爲DetailActivity設置片段的入口和出口。當從片段退出時,共享元素轉換不起作用包含Viewpager的活動

public static void sharedTransitionReceiver(Activity activity, Fragment fragment) { 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     activity.getWindow().getEnterTransition().setDuration(500); 
     Slide slideTransition = new Slide(Gravity.START); 
     slideTransition.setDuration(500); 
     fragment.setReenterTransition(slideTransition); 
     fragment.setExitTransition(slideTransition); 
     fragment.setSharedElementEnterTransition(new ChangeBounds()); 
    } 
} 

它工作得很好,但是當我瀏覽回到包含Viewpager退出動畫不工作之前的活動和項目不會以動畫方式返回到原來的位置。

+0

調用setSharedElementReturnTransition()來指定View在用戶點擊後退按鈕時從第二個Fragment移回第一個Fragment的方式。 –

+0

沒有用,它仍然是一樣的。 – mjosh

+0

@BurakCakir根據文檔,默認情況下,返回動畫與輸入動畫相反。 – mjosh

回答

3

經過4個小時的努力,我無法想象答案是那麼簡單。彈出堆棧中的每個片段後,我打電話給finish(),而不得不使用supportFinishAfterTransition();

+0

你能指導我如何執行片段活動共享元素轉換? – AndroidGeeks

相關問題