Android: cómo hacer animaciones de transición en los iconos de menú de la barra de herramientas?

Si utilizas la última versión de WhatsApp te darás cuenta de que si haces clic en un cuadro de texto en un chat, los iconos de menú de la barra de herramientas cambiarán con una agradable animación giratoria.

¿Cómo podría reproducir ese efecto? Sé que debería invalidar el menú, pero no cómo hacer la animación.

  1. Utilice una Toolbar .
  2. Espere a que la barra de herramientas tenga sus elementos inflados.
  3. Encuentra el elemento en cuestión
  4. Animar el elemento

Ejemplo:

 mToolbar = (Toolbar) findViewById(R.id.toolbar); mToolbar.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { @Override public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { View item = mToolbar.findViewById(R.id.action_add_item); if (item != null) { mToolbar.removeOnLayoutChangeListener(this); item.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ObjectAnimator animator = ObjectAnimator .ofFloat(v, "rotation", v.getRotation() + 180); animator.start(); } }); } } }); 

Nota R.id.action_add_item es el atributo id del MenuItem .

  • Acción del elemento Android: onCreateOptionsMenu ()
  • ¿Cómo obtener la ID de Android para un elemento de menú en Android?
  • La vista de búsqueda no se muestra en la barra de herramientas
  • APK no se instalará: DalvikVM no puede optimizarlo (el intercambio de bytes y la verificación fallan)
  • Desplazamiento del menú (biblioteca) siempre a pantalla completa
  • Android: el icono de APK no se está instalando
  • Cuadro de diálogo android con menú
  • Animación personalizada para el cajón de navegación
  • ¿Qué hacerPrepareOptionsMenu?
  • El icono del menú del cajón de navegación no se muestra correctamente
  • ¿Cómo puedo configurar mi menú de opciones para que sólo haya 2 botones por fila?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.