#Android Shared view transition
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="android:Theme.Material.Light">
<!-- enable window content transitions -->
<item name="android:windowContentTransitions">true</item>
<!-- enable overlapping of exiting and entering activities-->
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
</style>
</resources>
<!-- Style.xml (v21)-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<ImageView
android:id="@+id/cardImage"
android:layout_width="100dp"
android:layout_height="100dp"
android:scaleType="centerCrop"
android:transitionName="cardImage"
android:src="@drawable/picture" />
</RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.cyancode.apps.sharedviewstransitions.Details">
<ImageView
android:id="@+id/DetailscardImage"
android:layout_width="fill_parent"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:transitionName="cardImage2"
android:src="@drawable/picture" />
</RelativeLayout>
//En el OnCreate
final ImageView cardImage = (ImageView) findViewById(R.id.cardImage);
cardImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//This is where the magic happens. makeSceneTransitionAnimation takes a context, view, a name for the target view.
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(MainActivity.this, cardImage, "cardImage2");
Intent intent = new Intent(MainActivity.this, Details.class);
startActivity(intent, options.toBundle());
}
});