1

我試圖爲片段之間的轉換設置動畫。在片段之間的共享元素轉換期間拆分視圖

pic1

但在過渡觀點開始分離

pic2

請告訴我如何避免這種情況?在運動開始時,第一個視圖必須消失。 謝謝!

@Override 
public void onClickMessage(DialogItem item, View view) { 
    setSharedElementReturnTransition(TransitionInflater.from(getActivity()).inflateTransition(R.transition.change_image_transform)); 
    setExitTransition(TransitionInflater.from(getActivity()).inflateTransition(android.R.transition.fade)); 

    DetailsFragment fragment = new DetailsFragment(); 
    fragment.setDialog(item); 
    fragment.setSharedElementEnterTransition(TransitionInflater.from(getActivity()).inflateTransition(R.transition.change_image_transform)); 
    fragment.setEnterTransition(TransitionInflater.from(getActivity()).inflateTransition(android.R.transition.fade)); 

    View ava = view.findViewById(R.id.ivPhoto); 
    ava.setTransitionName(DetailsFragment.AVA_TRANS); 

    View name = view.findViewById(R.id.tvName); 
    name.setTransitionName(DetailsFragment.NAME_TRANS); 

    FragmentTransaction ft = getFragmentManager().beginTransaction() 
      .replace(R.id.container, fragment) 
      .addToBackStack(null) 
      .addSharedElement(ava, DetailsFragment.AVA_TRANS) 
      .addSharedElement(name, DetailsFragment.NAME_TRANS); 
    ft.commit(); 

} 
+0

添加多個鏈接[視頻樣本(https://github.com/krawa/SharedElementFragmentTransition/blob/master/images/device-2015-06-26-165848.mp4)和 [來源代碼(HTTPS: //github.com/krawa/SharedElementFragmentTransition) – krawa

+0

你能解決這個問題嗎? – tabjsina

回答

0

好像你只有1個視圖用於共享元素轉換。 您必須在佈局中分隔您的視圖 - ImageView圖標和TextView「瘋狂的微笑」文本。有了這些,您可以爲共享元素轉換指定2個元素。然後他們將分開飛行。

尼斯解釋過渡動畫可以找到here (step-by-step)

+0

編號I爲每個元素使用共享元素轉換。問題是如何避免重複觀點? – krawa

+0

如果您的視圖在動畫過程中被複制 - 可能您指定了兩次轉換。請檢查樣本並與您的實施進行比較。如果你將在簡單的測試項目中使用動畫,並檢查它們是否適合你,那會很好。 –

+0

但是,如果您不指定Fragment.setExitTransition(),那麼不會有動畫退出。 (見上面的代碼) – krawa