Cómo hacer whatsapp tipo de animación para abrir el menú de la barra de herramientas (barra de acción)

Descripción:

  1. He actualizado recientemente whatsapp y notado la animación para el elemento de menú hace clic en la barra de herramientas. ¿Cómo lograr este efecto?
  2. ¿Hay proyectos de código abierto para lograr esto?
  3. No he publicado ningún código porque. No tengo ni idea de cómo lo están haciendo.

Instantánea-1: Antes de hacer clic en el botón de adjunto en el menú Img


Snapshot-2: Después de hacer clic en el botón de adjunto en el menú

Img2


Cómo lograr esto?

Parece que "portado" animación lollipop en pre-L dispositivos. La forma más sencilla de hacerlo es usando bibliotecas como Material-Animación de Igvalle (ver # 4). Su minSdk es 16, pero espero que pueda minSdk para 14 o menos.

Algunas otras bibliotecas: TransitionsBackport , PreLollipopTransition , transitions-everywhere .

Por favor, hágamelo saber si crea esta animación!

Este es un enlace a la página web que muestra cómo implementarlo. Espero que ayude http://blog.grafixartist.com/circular-reveal-effect-like-whatsapp-in-android/ .

Sí podemos usar el efecto de revelación circular ahora en 2.3+

Podemos lograr este efecto utilizando esta Circular Reveal Library .

Agregando la dependencia de la biblioteca

  dependencies { compile ('com.github.ozodrukh:CircularReveal:1.3.1@aar') { transitive = true; } } 

Utilice regular RevealFrameLayout & RevealLinearLayout no se preocupe, solo el objetivo se recortará 🙂

 <io.codetail.widget.RevealFrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Put more views here if you want, it's stock frame layout --> <android.support.v7.widget.CardView xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/awesome_card" style="@style/CardView" app:cardBackgroundColor="@color/material_deep_teal_500" app:cardElevation="2dp" app:cardPreventCornerOverlap="false" app:cardUseCompatPadding="true" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" android:layout_marginTop="8dp" android:layout_width="300dp" android:layout_height="300dp" android:layout_gravity="center_horizontal" /> </io.codetail.widget.RevealFrameLayout> 

Y en código añadir

  View myView = findView(R.id.awesome_card); // get the center for the clipping circle int cx = (myView.getLeft() + myView.getRight()) / 2; int cy = (myView.getTop() + myView.getBottom()) / 2; // get the final radius for the clipping circle int dx = Math.max(cx, myView.getWidth() - cx); int dy = Math.max(cy, myView.getHeight() - cy); float finalRadius = (float) Math.hypot(dx, dy); SupportAnimator animator = ViewAnimationUtils.createCircularReveal(myView, cx, cy, 0, finalRadius); animator.setInterpolator(new AccelerateDecelerateInterpolator()); animator.setDuration(1500); animator.start(); 

Lo intenté, no pude hacerlo compatible con dispositivos pre-L, pero creo que se ve muy bien.

Ir a ver en GitHub

  • Notificación como whatsapp o sms app android
  • Verificar el estado en línea de whatsapp
  • ¿Cómo puedo agregar mi conexión de aplicaciones en Agenda / Contactos como Whatsapp y Viber?
  • Transición de elementos compartidos de Android: transformación de un ImageView de un círculo a un rectángulo y viceversa
  • WhatsApp almacenamiento de datos - todos los datos almacenados localmente en el teléfono?
  • ¿Cómo hacer que mi aplicación de Android aparezca en el selector de aplicaciones cuando envíe un mensaje de correo electrónico a un chat de WhatsApp?
  • Broadcast Receivers - WhatsApp y servicios similares
  • ¿Puedo crear un complemento para whatsapp
  • Envío de mensajes a través de WhatsApp
  • Inicie WhatsApp desde URL HREF con texto / contenido personalizado
  • Android lee los datos de WhatsApp
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.