Prefacio
Implemente un menú donde aparezca el menú desde la parte superior y luego desaparece desde la parte inferior. Cuando aparece la parte superior, hay un proceso de temblar hacia arriba y hacia abajo. Cuando el fondo desaparezca, deslice primero, luego deslice hacia abajo y luego desaparezca.
Las representaciones son las siguientes:
Introducir dependencias
Implementación 'com.android.support:Support-Dynamic-Animation:27.1.1'1
La creación de Springanimation requiere tres parámetros.
• Vista animada
• Tipo de dinámica
Alpharotationrotation_xrotation_yscale_xscale_yscroll_xscroll_ytranslation_xtranslation_ytranslation_zxyz
El diagrama GIF anterior es un diagrama de vista previa con Dynamicanimation Translation_y. Ahora establecemos el parámetro en rotación.
SpringAnimation firmBtnanimy = new Springanimation (restricción, DynamicAnimation.rotation, 0);
Las representaciones son las siguientes:
- La ubicación final para crear una animación
El desplazamiento en relación con la posición actual de la vista.
Fuerza de resorte
Para que la animación sea suave y elástica, los parámetros relacionados con Springforce deben establecerse.
- rigidez
Es decir, rigidez. Cuanto mayor sea este valor, mayor es la parte interna producida, menos obvio es el efecto elástico en la animación y más rápido es el movimiento.
Rigidez_highstiffness_lowstiffness_mediumstiffness_very_low
El método de configuración es:
registrarbtnanimy.getspring (). setstiffness (springforce.stiffness_low);
• Relación de amortiguación de amortiguación
Es decir, la relación de amortiguación, cuanto mayor este valor, más rápido se detiene el efecto de resorte
Amortigua_ratio_high_bouncydamping_ratio_low_bouncydamping_ratio_medium_bouncydamping_ratio_no_bouncy
El método de configuración es:
firmBtnanimy.getSpring (). setDampingratio (springforce.damping_ratio_medium_bouncy);
Velocidad de inicio
Velocidad de inicio, la velocidad predeterminada es 0 y la unidad es PX/Segunda.
El código general es el siguiente:
• Mostrar animación de menú
public void showAnimal () {setVisibility (ver.visible); SpringAnimation firmBtnanimy = new Springanimation (restricción, DynamicAnimation.translation_y, 0); registrarbtnanimy.getspring (). setstiffness (springforce.stiffness_low); firmBtnanimy.getSpring (). setDampingratio (springforce.damping_ratio_medium_bouncy); registrarbtnanimy.setstartvelocity (5000); registrarbtnanimy.start (); }• Ocultar animación de menú
public void HideanImal () {Height = (ScreeNools.getScreenHeight (getContext ()) - restrictraylaut.getheight ()) / 2 + restrictyLayout.getheight () + scentools.dp2px (getContext (), 50); ObjectAnimator animator = Objectanimator.Offloat (restrictrayLayout, "traducción", 0f, -100f, altura); animator.setDuration (600); animator.setInterpolator (new DecelerateInterpolator ()); animator.addListener (new AnimatorListenerAdapter () {@Override public void onanimationend (animator animation) {super.onanimationend (animation); setVisibility (go); relayout ();}}); animator.start (); } Código fuente: https://github.com/lsnumber1/studyspringanimation
Resumir
Lo anterior es que el menú de implementación de Springanimation aparece desde la parte superior y desaparece desde la parte inferior. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!