Transición de escena de Android: Interpolador personalizado?

Tengo una actividad iniciada con una transición de escena con un elemento compartido, y funciona correctamente.

ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(), sharedView, "sharedView"); Intent intent = new Intent(getActivity(), NewActivity.class); ActivityCompat.startActivity(getActivity(), intent, options.toBundle()); 

El elemento se anima suavemente de la antigua a la nueva actividad. Sin embargo, me gustaría cambiar la animación de la transición un poco, en particular el interpolador. Parece que está utilizando el interpolador liso por defecto, pero me gustaría usar el nuevo interpolador Fast-out-slow-in de material, y no puedo averiguar cómo especificarlo.

¿Qué debo hacer para anular la transición predeterminada?

En caso de que aún no lo hayas descubierto:

Cree un nuevo transitionSet en su /res/transition/ , defina sus etiquetas de transición con sus propiedades e interpoladores y luego aplíquelo a su estilo de actividad en /res/values-v21/styles.xml

Ejemplo para su NewActivity

  • Cree una new_activity_transition.xml dentro /res/transition/ que contenga las siguientes etiquetas de transición de ejemplo y sus interpoladores:

     <transitionSet xmlns:android="http://schemas.android.com/apk/res/android"> <changeImageTransform android:interpolator="@android:interpolator/fast_out_slow_in" /> <arcMotion android:interpolator="@android:interpolator/fast_out_slow_in"/> <changeBounds android:duration="300" android:interpolator="@android:interpolator/fast_out_slow_in"/> </transitionSet> 
  • A continuación, establezca como elemento compartido la transición de entrada en su /res/values-v21/styles.xml :

     <style name="NewActivity"> <item name="android:windowSharedElementEnterTransition">@transition/new_activity_transition</item> </style> 
  • No olvide establecer el tema de la actividad en su AndroidManifest.xml :

     <activity android:name="{path to}.NewActivity" android:theme="@style/NewActivity"> </activity> 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.