Cómo implementar la transición de navegación de "padre a hijo" según lo prescrito por Material Design

Las directrices de diseño de materiales de Google prescriben la siguiente transición para las transiciones de "padre a hijo" cuando el padre conste de una lista. (Directrices de Diseño de Material)

¿Cómo puedo proporcionar esta transición? No tengo conocimiento de ninguna transición incorporada proporcionada para hacer esto posible.

Iniciar una actividad con un elemento compartido

Para realizar una animación de transición de pantalla entre dos actividades que tienen un elemento compartido:

Habilite las transiciones de contenido de la ventana en su tema. Especifique una transición de elementos compartidos en su estilo. Defina su transición como un recurso XML. Asigne un nombre común a los elementos compartidos en ambos diseños con el atributo android: transitionName . Utilice el método ActivityOptions.makeSceneTransitionAnimation ().

// get the element that receives the click event final View imgContainerView = findViewById(R.id.img_container); // get the common element for the transition in this activity final View androidRobotView = findViewById(R.id.image_small); // define a click listener imgContainerView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(this, Activity2.class); // create the transition animation - the images in the layouts // of both activities are defined with android:transitionName="robot" ActivityOptions options = ActivityOptions .makeSceneTransitionAnimation(this, androidRobotView, "robot"); // start the new activity startActivity(intent, options.toBundle()); } }); 

Para las vistas dinámicas compartidas generadas en el código, utilice el método View.setTransitionName () para especificar un nombre de elemento común en ambas actividades.

Para invertir la animación de transición de escena al finalizar la segunda actividad, llame al método Activity.finishAfterTransition () en lugar de Activity.finish ().

Tomar desde aquí Personalizar las transiciones de la actividad

Una opción es utilizar ActivityOptionsCompat.makeScaleUpAnimation

 Activity activity = getActivity(); Intent intent = new Intent(activity, OtherActivity.class); Bundle options = ActivityOptionsCompat.makeScaleUpAnimation( sourceView, 0, 0, sourceView.getWidth(), sourceView.getHeight()).toBundle(); ActivityCompat.startActivity(activity, intent, options); 

Esto hará que la nueva actividad se expanda vertical y horizontalmente desde su sourceView

  • Botón de diseño de material con borde
  • Android Spinner Reveal Animation Diseño de materiales
  • ¿Cuál es el tamaño de icono de ActionBar recomendado en Diseño de material (Android API 21+)?
  • Android Lollipop Diseño del material Desbordamiento Menú Icon color
  • Icono de navegación de la barra de herramientas nunca configurado
  • Cómo crear las pestañas de la barra de herramientas con ViewPager en el diseño del material
  • ¿Cómo cambiar el color de ActionBar al pasar entre fragmentos (diseño de material)?
  • Problema de distorsión de la interfaz de usuario en Android 5.0 Lollipop
  • Espacio flexible en Android
  • Muestra un SnackBar en la parte superior (debajo de la barra de herramientas)
  • Material Tema Android Action Bar Estilo Generador
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.