2017-10-06 92 views
0

我有兩個活動(一個具有RecyclerView和一個將以startActvityForResult開始的DetailsActvity)。兩個活動之間的Android材質動畫

現在我想做一個這樣的動畫,當我點擊一個列表項。

https://material.io/guidelines/motion/material-motion.html#material-motion-implications-of-motion

這將是巨大的,如果有人能告訴我一個簡單的方法來實現這一點。

+1

http://guides.codepath.com/android/shared-element-activity-transition希望這個鏈接可以幫助你 –

+0

就像在預覽中這不是一個共享元素動畫。它只是從點擊項目的位置開始的一個轉換。 –

回答

1

你在找什麼叫做makeSceneTransitionAnimation。使用起來相當簡單,你需要在兩個屏幕上都有一個共享的元素,它有一個共同的XML標籤「transitionName」,例如,

"android:transitionName="clock" 

,然後開始與makeSceneTransitionAnimation活動:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
      Pair<View, String> p1 = Pair.create(clock, "clock"); 

      ActivityOptionsCompat options = ActivityOptionsCompat. 
        makeSceneTransitionAnimation((Activity) getContext(), p1); 

      mView.getContext().startActivity(intent, options.toBundle()); 

}

編輯:我寫這個你評論說,這是你正在尋找沒有什麼,但我之前認爲你可以通過makeSceneTransitionAnimation實現顯示的轉換。

+0

謝謝,這是工作:) 我做我的工作與'startActivityForResult'與下面的代碼: 'ActivityCompat.startActivityForResult(活動,意圖,CategoryDe​​tailsActivity.EDIT_CATEGORY,options.toBundle())' –

+0

現在,當我關閉這項活動。我想要相同的動畫後退。你現在熱了嗎? –

+1

嘗試使用[supportFinishAfterTransition()](https://developer.android.com/reference/android/support/v4/app/FragmentActivity.html#supportFinishAfterTransition())退出活動 – Ole