¿Cómo cambiar el color de la barra de progreso en Android?

En este artículo, veremos cómo podemos agregar color a una barra de progreso en Android. Android ProgressBar es un control de interfaz de usuario que indica el progreso de una operación. Por ejemplo, descargando un archivo, subiendo un archivo a internet podemos ver la barra de progreso estimar el tiempo que queda en funcionamiento. Tenga en cuenta que en este artículo usaremos Java y XML para establecer el color.

Implementación paso a paso

Paso 1: crear un nuevo proyecto

Paso 2: crea una barra de progreso personalizada

  • Vaya a la aplicación > res > drawable > haga clic con el botón derecho en > New > Drawable Resource File y nombre el archivo como progress_bg .
  • Dentro del archivo XML, agregue una etiqueta de rotación con algunos atributos (ver código)
  • Dentro de la etiqueta de rotación, cree una etiqueta de forma dentro de la cual cree la etiqueta de tamaño y degradado
  • Los atributos de estas etiquetas se dan en el código a continuación. 
  • A continuación se muestra el código para el archivo progress_bg.xml

XML

<?xml version="1.0" encoding="utf-8"?>
<!--use rotate tag to rotate the drawable-->
<rotate 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="360">
  
    <!--shape tag is used to 
        build a shape in XML-->
    <shape
        android:innerRadiusRatio="3"
        android:shape="ring"
        android:thicknessRatio="8"
        android:useLevel="false">
  
        <!--set the size of the shape-->
        <size
            android:width="76dip"
            android:height="76dip" />
  
        <!--set the color gradients
            of the shape-->
        <gradient
            android:angle="0"
            android:endColor="#00ffffff"
            android:startColor="#447a29"
            android:type="sweep"
            android:useLevel="false" />
    </shape>
  
</rotate>

Paso 3: trabajar con el archivo activity_main.xml

  • Vaya al archivo activity_main.xml y consulte el siguiente código. 
  • Abra el archivo activity_main.xml y en la etiqueta ProgressBar y establezca el atributo  dibujable en indeterminadoDrawable .
  • A continuación se muestra el código para el archivo activity_main.xml .

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="20dp">
  
    <!--set the custom progress bar here in
        the indeterminateDrawable attribute-->
    <ProgressBar
        android:id="@+id/ProgressBar01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:indeterminate="true"
        android:indeterminateDrawable="@drawable/progress_bg"
        android:progress="0" />
  
    <Button
        android:id="@+id/show_button"
        android:layout_width="191dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/ProgressBar01"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="80dp"
        android:text="Progress Bar" />
  
</RelativeLayout>

Paso 4: trabajar con el archivo MainActivity.java

  • Vaya al archivo MainActivity.java y consulte el siguiente código. 
  • A continuación se muestra el código del archivo MainActivity.java . Se agregan comentarios dentro del código para comprender el código con más detalle.

Java

import android.os.Bundle;
import android.os.Handler;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
  
import androidx.appcompat.app.AppCompatActivity;
  
public class MainActivity extends AppCompatActivity {
      
    Handler handler = new Handler();
    public static Button button;
    public static TextView textView;
    public static ImageView img1, img2;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        // create a progress bar variable and set the id
        final ProgressBar progressBar = findViewById(R.id.ProgressBar01);
          
        // show the progress bar
        progressBar.getProgress();
    }
}

Producción:

Publicación traducida automáticamente

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