2014-10-28 82 views
0

我試圖在活動之間製作動畫/轉換,但我無法使其完美和完美。我找不到任何幫助指南。 你能告訴我如何創建一個ActivityOptions tranistion,像這樣: http://3.bp.blogspot.com/-dadidlU3muU/VE6og4Ra_BI/AAAAAAAAA8E/uVCWrYMetGI/s400/herotransition.gif英雄轉換不起作用Android棒棒糖

一步一步? 謝謝。

+0

你看這裏嗎? http://developer.android.com/training/material/animations.html – tyczj 2014-10-28 18:45:42

+0

是的,但沒有任何幫助。我添加了所需的所有內容,並進行了轉換,但ChangeBounds()轉換效果不佳,因爲進入新的活動轉換隻是從屏幕邊緣打開應用程序,而不是調整圖像大小。 @tyczj – user3184899 2014-10-28 18:57:58

回答

1

需要兩個共享的元素:

  1. 卡時(整個卡)從將被共享列表視圖和 映射到詳細視圖活動的根視圖。您可以使用ChangeBounds將 轉換。
  2. 來自列表視圖的ImageView將被共享並映射到詳細視圖活動中的ImageView。您可以使用具有ChangeBounds和ChangeImageTransform的TransitionSet。

這意味着,您的活動的選項將是這個樣子:

ActivityOptions.makeSceneTransition(YourActivity.this, Pair.create(yourCardViewInstance, "cardView"), Pair.create(yourImageViewInstance, "imageView") 

最後,確保你的第二個活動的意見具有完全符合您ActivityOptions過渡名稱。例如。

<FrameLayout 
    android:transitionName="cardView"> 
    <ImageView 
     android:transitionName="ImageView"> 
... 
+0

謝謝。我嘗試過這個。 imageView的工作,但部分與RelativeLayout使用LayoutInflater連接到另一個RelativeLayout,我得到: 「java.lang.IllegalArgumentException:幻影視圖必須由ViewGroup父」 什麼是錯? – user3184899 2014-10-31 20:23:20

+0

嘗試用另一個ViewGroup在第二個活動中包裝RelativeLayout,例如 ... – klmprt 2014-11-01 15:48:06