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:
- 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'
}
- 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
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
>
- 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
;
}
}
});
}
}
- 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