New activity transition API.

Change-Id: Icbf3533514a3216ab4b5a7146a8157535fbf1aa9
This commit is contained in:
George Mount
2014-05-12 16:57:06 -07:00
parent 9f69fed7ba
commit e6c46f8f23
2 changed files with 10 additions and 6 deletions

View File

@@ -19,13 +19,16 @@ import com.example.android.apis.R;
import android.app.Activity;
import android.app.ActivityOptions;
import android.app.SharedElementListener;
import android.content.Intent;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.util.Pair;
import android.view.View;
import android.widget.ImageView;
import java.util.List;
import java.util.Map;
/**
*
*/
@@ -101,10 +104,11 @@ public class ActivityTransition extends Activity {
mHero = null;
if (name != null) {
mHero = (ImageView) findViewById(getIdForKey(name));
setActivityTransitionListener(new ActivityOptions.ActivityTransitionListener() {
setSharedElementListener(new SharedElementListener() {
@Override
public Pair<View, String>[] getSharedElementsMapping() {
return new Pair[] { Pair.create((View)mHero, "hero") };
public void remapSharedElements(List<String> names,
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.putExtra(KEY_ID, v.getViewName());
ActivityOptions activityOptions
= ActivityOptions.makeSceneTransitionAnimation(getWindow(), mHero, "hero");
= ActivityOptions.makeSceneTransitionAnimation(this, mHero, "hero");
startActivity(intent, activityOptions.toBundle());
}

View File

@@ -61,7 +61,7 @@ public class ActivityTransitionDetails extends Activity {
public void clicked(View v) {
Intent intent = new Intent(this, ActivityTransition.class);
intent.putExtra(KEY_ID, mName);
ActivityOptions activityOptions = ActivityOptions.makeSceneTransitionAnimation(getWindow(),
ActivityOptions activityOptions = ActivityOptions.makeSceneTransitionAnimation(this,
v, "hero");
startActivity(intent, activityOptions.toBundle());
}