Cómo implementar View Shaker en Android

View Shaker es una animación en la que la interfaz de usuario de la pantalla vibra durante un período de tiempo limitado. Esto se puede implementar en todo el diseño o en algún widget en particular. Es un efecto muy común que usan los desarrolladores, especialmente para mostrar credenciales incorrectas.

View Shaker nos ayuda a animar los widgets. Se le pueden agregar varios efectos.
Efectos

  1. Atencion
    Flash, Pulse, RubberBand, Shake, Swing, Wobble, Bounce, Tada, StandUp, Wave

  • Especial
      Bisagra, RollIn, RollOut, Aterrizaje, TakeOff, DropOut
  • Bote
      Rebote hacia adentro, Rebote hacia abajo, Rebote hacia la izquierda, Rebote hacia la derecha, Rebote hacia arriba
  • Desteñir
      Fundido de entrada, Fundido de entrada hacia arriba, Fundido de entrada hacia abajo, Fundido de entrada hacia la izquierda, Fundido de entrada hacia la derecha Fundido de salida, Fundido de salida hacia abajo, Fundido de salida hacia la izquierda, Fundido de salida hacia la
      derecha, Fundido de salida hacia arriba
  • Dar la vuelta
      FlipInX, FlipOutX, FlipOutY
  • Girar
      Girar hacia adentro, Girar hacia abajo a la izquierda, Girar hacia adentro hacia abajo a la derecha, Girar hacia adentro hacia arriba a la
      izquierda, Girar hacia adentro hacia arriba a la derecha
  • Deslizar
      SlideInLeft, SlideInRight, SlideInUp, SlideInDown
      SlideOutLeft, SlideOutRight, SlideOutUp, SlideOutDown
  • Zoom
      ZoomIn, ZoomInDown, ZoomInLeft, ZoomInRight, ZoomInUp
      ZoomOut, ZoomOutDown, ZoomOutLeft, ZoomOutRight, ZoomOutUp
  • En este artículo veremos un ejemplo de cómo agregar dicho efecto en una aplicación.

    En este ejemplo, un usuario desea iniciar sesión en el portal GeeksforGeeks . El usuario ingresa la contraseña incorrecta y luego hace clic en el botón de inicio de sesión. Luego, podemos animar nuestra vista para que la aplicación sea más receptiva, usando View Shaker.
    Acercarse

    1. Agregue la biblioteca de soporte en el archivo build.gradle y agregue la dependencia en la sección de dependencias. Esta biblioteca tiene varios efectos de animación descritos anteriormente. Ayuda a hacer que nuestra aplicación sea más receptiva y dinámica.

      dependencies {
          implementation 'com.daimajia.easing:library:2.0@aar'
          implementation 'com.daimajia.androidanimations:library:2.3@aar'
      }
    2. Ahora agregue el siguiente código en el archivo activity_main.xml . Este código agrega una vista de texto , dos textos de edición y un botón en activity_main.

      actividad_principal.xml

      <?xml version="1.0" encoding="utf-8"?>
      <LinearLayout
          xmlns:tools="http://schemas.android.com/tools"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          tools:context=".MainActivity"
          android:orientation="vertical">
        
          <TextView
              android:textStyle="bold"
              android:textSize="24sp"
              android:textColor="#219806"
              android:layout_margin="15dp"
              android:layout_gravity="center"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="GeeksForGeeks"
              />
          <EditText
              android:id="@+id/editText1"
              android:layout_margin="15dp"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:hint="Enter ID"
              />
          <EditText
              android:id="@+id/editText2"
              android:layout_margin="15dp"
              android:inputType="textPassword"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:hint="Enter Password"
              />
          <Button
              android:id="@+id/button"
              android:layout_margin="25dp"
              android:layout_gravity="center"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="Log In"/>
      </LinearLayout>
    3. Ahora agregue el siguiente código en el archivo MainActivity.java . onClickListener se agrega al botón Iniciar sesión que agrega el efecto Shake tanto en el texto de edición. Las diferentes funciones, como la duración , establecen la duración, la repetición establece la cantidad de veces que se debe repetir el efecto y playOn establece el efecto en un widget en particular.

      MainActivity.java

      package org.geeksforgeeks.gfgviewshaker;
        
      import androidx.appcompat.app.AppCompatActivity;
      import android.os.Bundle;
      import android.view.View;
      import android.widget.Button;
      import android.widget.EditText;
      import com.daimajia.androidanimations
          .library
          .Techniques;
      import com.daimajia.androidanimations
          .library
          .YoYo;
        
      public class MainActivity
          extends AppCompatActivity {
        
          Button login;
          EditText id, password;
          @Override
          protected void onCreate(
              Bundle savedInstanceState)
          {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
        
              login = findViewById(R.id.button);
              id = findViewById(R.id.editText1);
              password = findViewById(R.id.editText2);
        
              login.setOnClickListener(
                  new View.OnClickListener() {
        
                      @Override
                      public void onClick(View v)
                      {
                          YoYo.with(Techniques.Shake)
                              .duration(500)
                              .repeat(2)
                              .playOn(id);
        
                          YoYo.with(Techniques.Shake)
                              .duration(500)
                              .repeat(2)
                              .playOn(password);
                      }
                  });
          }
      }

    Producción:

    Publicación traducida automáticamente

    Artículo escrito por madhavmaheshwarimm20 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *