¿Cómo cambiar la imagen de fondo haciendo clic en un evento en Android?

Las imágenes de fondo juegan un papel importante en el embellecimiento de cualquier aplicación. Por lo tanto, la mayoría de las aplicaciones de redes sociales como WhatsApp, Messenger brindan esto como parte de su función para sus usuarios. Entonces, teniendo esto en cuenta, desarrollaremos una aplicación de Android en la que las imágenes de fondo cambiarán al hacer clic en un botón. 

¿Qué vamos a construir en este artículo? 

Construiremos una aplicación simple en la que mostraremos un botón y al hacer clic en el evento del botón cambiaremos las imágenes de fondo en la aplicación. Tenga en cuenta que crearemos una array de imágenes que se guardaron en una carpeta dibujable y accederemos a esas imágenes aleatoriamente usando la clase Random . Vamos a implementar este proyecto utilizando el lenguaje Java . Entonces, sin perder más tiempo, pasemos a la implementación. qué

Change Background Image by Button Clicking Event in Android Sample GIF

Implementación paso a paso

Paso 1: Crear un nuevo proyecto

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación.

Paso 2: recopila imágenes y guárdalas

Ahora, descargue algunas imágenes para el fondo y luego navegue a aplicación> res> carpeta dibujable y guarde todas las imágenes descargadas en una carpeta dibujable usando el método de copiar y pegar.

Paso 3: trabajar con el archivo activity_main.xml

Ahora, diseñaremos la parte de diseño de nuestra aplicación. Por lo tanto, vaya a la aplicación> res> diseño> actividad_principal.xml y pegue debajo del código escrito en el archivo actividad_principal.xml .

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/relative_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    tools:context=".MainActivity">
  
    <!--Button to perform clicking event 
        to change background images-->
    <Button
        android:id="@+id/Button"
        android:layout_width="150dp"
        android:layout_height="52dp"
        android:layout_margin="12dp"
        android:background="#0F9D58"
        android:text="Click Here"
        android:textColor="#FFFFFF" />
  
</RelativeLayout>

Paso 4: trabajar con el archivo MainActivity.java

A continuación, desarrollaremos la parte backend de la aplicación. Por lo tanto, vaya a la aplicación > java > nombre del paquete > MainActivity.java y pegue el código escrito a continuación en el archivo MainActivity.java .

Java

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
  
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
  
import java.util.Random;
  
public class MainActivity extends AppCompatActivity {
    Button button;
    View screenView;
    int[] back_images;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        // array creation of images which are stored
        // in drawable folder under res folder
        back_images = new int[]{R.drawable.geeksforgeeks, R.drawable.geeksforgeeks2,
                                R.drawable.geeksforgeeks3, R.drawable.geeksforgeeks4};
        button = findViewById(R.id.Button);
        screenView = findViewById(R.id.relative_layout);
  
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
  
                // fetching length of array
                int array_length = back_images.length;
  
                // object creation of random class
                Random random = new Random();
  
                // generation of random number
                int random_number = random.nextInt(array_length);
  
                // set background images on screenView
                // using setBackground() method.
                screenView.setBackground(ContextCompat.getDrawable(getApplicationContext(), back_images[random_number]));
            }
        });
    }
}

Ahora nuestra aplicación está lista para instalar. Por lo tanto, haga clic en el botón ejecutar para ejecutar la aplicación. Aquí está el video de salida de la aplicación.

Producción:

Github Link: para obtener más ayuda, consulte este repositorio

Publicación traducida automáticamente

Artículo escrito por riyamathur 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 *