¿Cómo animar las transiciones de actividad cuando se usan listas / cuadrículas / vistas de reciclador?

Estoy intentando implementar algunas de las nuevas animaciones de la actividad Material Design, pero los tutoriales que he leído solo muestran ejemplos en los que la vista a animar pertenece a la actividad.

En mi aplicación, estoy usando un RecyclerView , por lo que el ImageView no es parte de la actividad:

 MainActivity -> Where I call startActivity() ↳ MainFragment ↳ RecyclerView ↳ RecyclerViewAdapter ↳ ViewHolder ↳ ImageView -> The hero imageView I'd like to animate 

Por lo que he leído, se supone que para iniciar la nueva actividad como esta:

 ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, (View) mImageView, "hero_image"); Intent intent = new Intent(this, SecondActivity.class); startActivityForResult(intent, options.toBundle()); 

La pregunta es: mImageView no pertenece a MainActivity . ¿Cómo voy a pasarlo?

En su ejemplo, inicia la Actividad de la misma manera. La vista forma parte de la jerarquía de vista de la actividad, por lo que la llamada sigue siendo válida. Cuando hay una transición de salida, se busca la jerarquía de vista de la actividad para salir de las vistas que se utilizarán en la transición de salida. Compara objetos con aquellos que son elementos compartidos para que no salga de los elementos compartidos.

Cuando utilice un RecyclerView, es probable que tenga que preocuparse por la transición de reingreso. RecyclerView puede reciclar cualquiera o todas las vistas. Si no ha dado a sus elementos compartidos (o potenciales elementos compartidos) nombres únicos, tendrá que implementar onMapSharedElements para asegurarse de que se utiliza la vista correcta. Siempre recomiendo que cuando se utilizan listas de elementos compartidos potenciales que se da a cada elemento un nombre de transición único (dinámicamente). De esta manera, el marco puede determinar automáticamente qué vista utilizar al volver.

  • Cómo hacer un indicador de página para reciclaje horizontal
  • ¿Número múltiple de columnas en un único StaggeredGridView?
  • Android: RecyclerView dentro de un ScrollView (o paralaje)
  • RecyclerView wrap_content con GridLayoutManager
  • ¿Cómo implementar una lista interminable con RecyclerView?
  • Getter no está asociado a ningún campo - Realm
  • Android Recyclerview lag mientras se desplaza hacia abajo
  • Horizontal RecyclerView dentro de ListView sin desplazamiento muy suave
  • HorizontalGridView / RecyclerLa posición de desplazamiento se restablece una vez que la imagen de Picasso se carga
  • Fragmento dinámico de Android Google Maps en el soporte de RecyclerView
  • Descripción de RecyclerView.ViewHolder
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.