New activity transition API.
Change-Id: Icbf3533514a3216ab4b5a7146a8157535fbf1aa9
This commit is contained in:
@@ -19,13 +19,16 @@ import com.example.android.apis.R;
|
|||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.ActivityOptions;
|
import android.app.ActivityOptions;
|
||||||
|
import android.app.SharedElementListener;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Pair;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@@ -101,10 +104,11 @@ public class ActivityTransition extends Activity {
|
|||||||
mHero = null;
|
mHero = null;
|
||||||
if (name != null) {
|
if (name != null) {
|
||||||
mHero = (ImageView) findViewById(getIdForKey(name));
|
mHero = (ImageView) findViewById(getIdForKey(name));
|
||||||
setActivityTransitionListener(new ActivityOptions.ActivityTransitionListener() {
|
setSharedElementListener(new SharedElementListener() {
|
||||||
@Override
|
@Override
|
||||||
public Pair<View, String>[] getSharedElementsMapping() {
|
public void remapSharedElements(List<String> names,
|
||||||
return new Pair[] { Pair.create((View)mHero, "hero") };
|
Map<String, View> sharedElements) {
|
||||||
|
sharedElements.put("hero", mHero);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -115,7 +119,7 @@ public class ActivityTransition extends Activity {
|
|||||||
Intent intent = new Intent(this, ActivityTransitionDetails.class);
|
Intent intent = new Intent(this, ActivityTransitionDetails.class);
|
||||||
intent.putExtra(KEY_ID, v.getViewName());
|
intent.putExtra(KEY_ID, v.getViewName());
|
||||||
ActivityOptions activityOptions
|
ActivityOptions activityOptions
|
||||||
= ActivityOptions.makeSceneTransitionAnimation(getWindow(), mHero, "hero");
|
= ActivityOptions.makeSceneTransitionAnimation(this, mHero, "hero");
|
||||||
startActivity(intent, activityOptions.toBundle());
|
startActivity(intent, activityOptions.toBundle());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public class ActivityTransitionDetails extends Activity {
|
|||||||
public void clicked(View v) {
|
public void clicked(View v) {
|
||||||
Intent intent = new Intent(this, ActivityTransition.class);
|
Intent intent = new Intent(this, ActivityTransition.class);
|
||||||
intent.putExtra(KEY_ID, mName);
|
intent.putExtra(KEY_ID, mName);
|
||||||
ActivityOptions activityOptions = ActivityOptions.makeSceneTransitionAnimation(getWindow(),
|
ActivityOptions activityOptions = ActivityOptions.makeSceneTransitionAnimation(this,
|
||||||
v, "hero");
|
v, "hero");
|
||||||
startActivity(intent, activityOptions.toBundle());
|
startActivity(intent, activityOptions.toBundle());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user