Cómo hacer whatsapp tipo de animación para abrir el menú de la barra de herramientas (barra de acción)
Descripción:
- 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?
- ¿Hay proyectos de código abierto para lograr esto?
- 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ú
Snapshot-2: Después de hacer clic en el botón de adjunto en el menú
- Android Share Intent formato de archivo no compatible
- Empieza whatsapp con android.content.Intent.ACTION_SENDTO
- Enviar mensaje a través de WhatsApp Por intención
- ¿Cómo puedo enviar un mensaje a WhatsApp Group y sincronizar contactos con WhatsAPI?
- Verificación del número de teléfono Android
Cómo lograr esto?
- Despliegue de diseño en una barra de herramientas con imágenes y texto e iconos en Android
- Ejecutar varias instancias de aplicación para Android, como espacio paralelo
- Mostrando imágenes en miniatura para el enlace en WhatsApp || Og: la meta-etiqueta de la imagen no funciona
- ¿Cómo puedo compartir el texto de la aplicación en un número determinado?
- No se puede identificar los contactos de WhatsApp
- Envío de mensajes a través de WhatsApp
- ¿Cómo comprobar si un contacto en el libro de teléfonos android tiene whatsapp habilitado?
- Ejemplos de Android Whatsapp / Chat
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
- Estilos y temas en valores, valores-v11 y valores-v14 carpetas
- Lectura y escritura de matriz de números enteros a paquete