¿Cómo crear AnimatedGradient en Android?

En este artículo, vamos a aprender cómo crear AnimatedGradient en Android. Se puede utilizar en el fondo de nuestra aplicación. En esto, agregamos diferentes degradados de color y los animamos. Incluso en las versiones anteriores de Instagram, los desarrolladores usaron AnimatedGradient como fondo de la pantalla de inicio de sesión para que el diseño se viera atractivo.

Enfoque:
Paso 1: cree diferentes archivos xml de degradado que se cambiarán en segundo plano. Estos archivos incluyen startColor que se muestra en la parte superior, endColor que se muestra en la parte inferior y el ángulo de la línea horizontal que divide ambas partes. Aquí creamos tres archivos xml de degradado.

  1. Cree un archivo gradient_one.xml en la carpeta dibujable y agregue el siguiente código.

    gradiente_uno.xml

    <?xml version="1.0" encoding="utf-8"?>
        <gradient
            android:angle="225"
            android:endColor="#09CCC8"
            android:startColor="#ffd6d3" />
    </shape>
  2. Cree un archivo gradiente_dos.xml en la carpeta dibujable y agregue el siguiente código.

    gradiente_dos.xml

    <?xml version="1.0" encoding="utf-8"?>
        <gradient
            android:angle="45"
            android:endColor="#FD7BCE"
            android:startColor="#A4DDF8" />
    </shape>
  3. Cree un archivo gradiente_tres.xml en la carpeta dibujable y agregue el siguiente código.

    gradiente_tres.xml

    <?xml version="1.0" encoding="utf-8"?>
        <gradient
            android:angle="135"
            android:endColor="#26F30F"
            android:startColor="#F6F8F0" />
    </shape>

Paso 2: Cree un archivo gradient_list.xml en la carpeta dibujable y agregue el siguiente código. En este archivo agregamos todos nuestros archivos xml de degradado que queremos mostrar y su duración.

gradient_list.xml

<?xml version="1.0" encoding="utf-8"?>
<animation-list
    xmlns:android="http://schemas.android.com/apk/res/android">
   
    <item android:drawable="@drawable/first_gradient"
        android:duration="3000"/>
   
    <item android:drawable="@drawable/third_gradient"
        android:duration="3000"/>
   
    <item android:drawable="@drawable/sec_gradient"
        android:duration="3000"/>
</animation-list>

Paso 3:
Ahora agregue el siguiente código en el
actividad_principal.xml
expediente. En este archivo, agregamos nuestra lista de degradados al fondo de nuestro diseño.

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/layout"
    android:background="@drawable/gradient_list"
    tools:context=".MainActivity">
   
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="22sp"
        android:textStyle="bold"
        android:textColor="#219806"
        android:text="GeeksForGeeks"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
   
</androidx.constraintlayout.widget.ConstraintLayout>

Paso 4:
Ahora agregue el siguiente código en el
MainActivity.java
expediente. de la clase
AnimadoDibujable
, funciones como
setEnterFadeDuration
y
setExitFadeDuration
se utilizan para establecer la duración del desvanecimiento y finalmente
comienzo
La función se utiliza para iniciar la animación.

MainActivity.java

package org.geeksforgeeks.gfganimatedGradient;
  
package org.geeksforgeeks.gfganimatedGradient;
   
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
   
public class MainActivity extends AppCompatActivity {
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
   
        ConstraintLayout layout = findViewById(R.id.layout);
   
        //With the help of AnimatedDrawable class, we can set
        //the duration to our background and then call the
        //function start at the end.
        AnimationDrawable animationDrawable = (AnimationDrawable) 
                          layout.getBackground();
        animationDrawable.setEnterFadeDuration(1500);
        animationDrawable.setExitFadeDuration(3000);
        animationDrawable.start();
    }
}
  • Ahora compile y ejecute la aplicación de Android.
  • Producción:

    Referencia:
    Gradient Drawable
    AnimationDrawable

    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 *