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
- 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: 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