Fragment to Fragment Shared Element Transition
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<changeBounds/>
<changeTransform/>
<changeClipBounds/>
<changeImageTransform/>
</transitionSet>
recyclerView.addOnItemTouchListener(GalleryPictureAdapter.RecyclerTouchListener(activity.applicationContext, recyclerView, object : GalleryPictureAdapter.ClickListener {
override fun onClick(view: View, position: Int) {
val newFragment = SlideshowFragment.newInstance(ArrayList(images.map { it.path }), position)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
newFragment.sharedElementEnterTransition = DetailsTransition()
newFragment.enterTransition = Fade()
exitTransition = Fade()
newFragment.sharedElementReturnTransition = DetailsTransition()
}
activity.supportFragmentManager
.beginTransaction()
.addSharedElement(view.findViewById(R.id.thumbnail), position.toString() + "_page")
.replace(R.id.container, newFragment)
.addToBackStack(null)
.commit()
}
override fun onLongClick(view: View, position: Int) {}
}))
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
setSharedElementEnterTransition(TransitionInflater.from(getContext()).inflateTransition(android.R.transition.move));
}
}