¿Cómo agregar KenBurns View en Android?

En este artículo, aprenderemos cómo agregar KenBurns View en Android usando Java. KenBurns View es una biblioteca útil que es una extensión de ImageView. Crea una experiencia inmersiva al animar su Drawable. Podemos usar RandomTransitionGenerator para cambiar la duración y actúa como un interpolador de transiciones. Si queremos tener más control sobre la transición, podemos implementar nuestro propio TransitionGenerator .
Acercarse:

  1. Agregue la biblioteca de soporte en el archivo build.gradle y agregue la dependencia en la sección de dependencias. A través de esta vista de KenBurns, se puede agregar directamente en archivos xml y tener muchas funciones incorporadas para personalizarlo fácilmente.

    dependencies {         
          implementation 'com.flaviofaria:kenburnsview:1.0.7'      
    }         
  2. Ahora agregue el siguiente código en el archivo activity_main.xml . En este archivo agregamos KenBurns View en nuestro diseño.

    actividad_principal.xml

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
      
        <com.flaviofaria.kenburnsview.KenBurnsView
            android:id="@+id/kView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="fitXY"
            android:src="@drawable/g"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
      
    </androidx.constraintlayout.widget.ConstraintLayout>
  3. Ahora agregue el siguiente código en el archivo MainActivity.java . onClickListener se agrega con la vista kenBurns. Hace que la animación se detenga si está en movimiento y viceversa.

    MainActivity.java

    package org.geeksforgeeks.gfganimatedGradient;
      
    import androidx.appcompat.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.animation.AccelerateDecelerateInterpolator;
    import com.flaviofaria.kenburnsview.KenBurnsView;
    import com.flaviofaria.kenburnsview.RandomTransitionGenerator;
      
    public class MainActivity extends AppCompatActivity {
        KenBurnsView kenBurnsView;
        boolean moving = true;
      
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
      
            kenBurnsView = findViewById(R.id.kView);
      
            AccelerateDecelerateInterpolator interpolator
                = new AccelerateDecelerateInterpolator();
      
            // It is used to change the duration and
            // the interpolator of transitions
            RandomTransitionGenerator generator
                = new RandomTransitionGenerator(2000, interpolator);
            kenBurnsView.setTransitionGenerator(generator);
      
            kenBurnsView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v)
                {
                    if (moving) {
                        kenBurnsView.pause();
                        moving = false;
                    }
                    else {
                        kenBurnsView.resume();
                        moving = true;
                    }
                }
            });
        }
    }
  4. Ahora compile y ejecute la aplicación de Android.

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 *