Indicador de progreso de componentes de diseño de materiales en Android

Material Design Components (MDC Android) ofrece a los diseñadores y desarrolladores una forma de implementar Material Design en sus aplicaciones de Android. Desarrollados por un equipo central de ingenieros y diseñadores de UX en Google, estos componentes permiten un flujo de trabajo de desarrollo confiable para crear aplicaciones de Android atractivas y funcionales. El diseño de materiales en Android es una de las características clave que atrae y atrae al cliente hacia la aplicación. Este es un tipo especial de diseño, que está guiado por Google. Entonces, en este artículo, se ha demostrado cómo usar los Indicadores de Progreso, sus tipos y anatomía.

Crear un proyecto de actividad vacío

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio .

Agregar dependencia requerida

Incluya la dependencia de componentes de diseño de materiales de Google en el archivo build.gradle . Después de agregar las dependencias, no olvide hacer clic en el botón «Sincronizar ahora» presente en la esquina superior derecha.

implementación ‘com.google.android.material:material:1.4.0’

Tenga en cuenta que mientras sincroniza su proyecto, debe estar conectado a la red y asegurarse de agregar la dependencia al archivo Gradle de nivel de aplicación como se muestra a continuación.

¿Qué son los indicadores de progreso?

Los indicadores de progreso se utilizan en Android para informar al usuario sobre los procesos en curso, por ejemplo, cargar aplicaciones, llamadas de red, descargar o cargar archivos. Estos comunican el estado de la aplicación e informan al usuario si puede salir de la sesión actual de la aplicación.

Tipos de indicadores de progreso

Hay principalmente dos tipos de indicadores de progreso, uno es un indicador lineal y otro es un indicador circular . Echa un vistazo a la siguiente imagen para ver la diferencia. Estos indicadores de progreso pueden ser Determinados o Indeterminados. 

  • Los indicadores determinados informan al usuario sobre el proceso definido, estos solo deben usarse cuando se puede detectar la velocidad del proceso.
  • Los indicadores indeterminados informan al usuario sobre el proceso indefinido, lo que significa que el proceso actual puede tardar un tiempo indefinido en completarse.

Anatomy of the Progress indicators

El indicador de progreso lineal consta de dos componentes principales:

  • Pista: el componente que tiene un ancho fijo, que establece los límites para que el indicador se desplace.
  • Indicador: el componente que se anima a lo largo de la pista.

Pasos para implementar el indicador de progreso en el proyecto Android

Trabajar con el archivo activity_main.xml

El diseño principal de la aplicación consta de dos indicadores de progreso. Uno es un indicador de progreso lineal y otro es un indicador de progreso circular. Tenga en cuenta que el atributo indeterminado en cada uno de ellos debe ser verdadero; de lo contrario, no se animará cuando la aplicación se ejecute en un emulador. Para implementar lo mismo, invoque el siguiente código dentro del archivo activity_main.xml.

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"
    tools:context=".MainActivity">
  
    <com.google.android.material.progressindicator.LinearProgressIndicator
        android:id="@+id/linearProgressIndicator"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="32dp"
        android:indeterminate="true"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
  
    <com.google.android.material.progressindicator.CircularProgressIndicator
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="32dp"
        android:indeterminate="true"
        app:layout_constraintEnd_toEndOf="@+id/linearProgressIndicator"
        app:layout_constraintStart_toStartOf="@+id/linearProgressIndicator"
        app:layout_constraintTop_toBottomOf="@+id/linearProgressIndicator" />
  
</androidx.constraintlayout.widget.ConstraintLayout>

Producción:

Personalización del indicador de progreso lineal:

Para cambiar el grosor de la pista, el color de la pista y el color del indicador, los atributos son:

aplicación: trackThickness = «colorValue»

aplicación: trackColor = «colorValor»

aplicación:indicatorColor=”colorValor”

El siguiente es un ejemplo:

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"
    tools:context=".MainActivity">
  
    <com.google.android.material.progressindicator.LinearProgressIndicator
        android:id="@+id/linearProgressIndicator"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="32dp"
        android:indeterminate="true"
        app:indicatorColor="@color/green_500"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:trackColor="@color/purple_500"
        app:trackThickness="8dp" />
  
</androidx.constraintlayout.widget.ConstraintLayout>

Producción:

Aumentar el tamaño del grosor de la pista, el color de la pista y el tamaño del indicador para el indicador de progreso circular:

Para cambiar el color de la pista, el color del indicador, el grosor de la pista y el tamaño del indicador, los atributos son:

aplicación: trackThickness = «colorValue»

aplicación: trackColor = «colorValor»

aplicación:indicatorColor=”colorValor”

app:indicatorSize=”valueInDp”

El siguiente es un ejemplo:

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"
    tools:context=".MainActivity">
  
    <com.google.android.material.progressindicator.CircularProgressIndicator
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="32dp"
        android:indeterminate="true"
        app:indicatorColor="@color/green_500"
        app:indicatorSize="64dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:trackColor="@color/purple_500"
        app:trackThickness="8dp" />
  
</androidx.constraintlayout.widget.ConstraintLayout>

Producción:

Algunos atributos comunes de los indicadores lineales y circulares son:

Elemento

Atributo

Métodos relacionados

Grosor de la pista aplicación: grosor de la pista

establecerTrackGrosor

getTrackThickness

Color indicador aplicación:indicatorColor

establecerColorIndicador

getIndicatorColor

Color de la pista aplicación: trackColor

establecerTrackColor

obtenerTrackColor

Radio de la esquina de la pista aplicación: trackCornerRadius

establecerTrackCornerRadius

getTrackCornerRadius

Mostrar comportamiento de animación app:showAnimationBehavior

setShowAnimationBehavior

getShowAnimationBehavior

Ocultar comportamiento de animación app: ocultar comportamiento de animación

establecerHideAnimationBehavior

getHideAnimationBehavior

Atributos específicos para el indicador de progreso lineal:

Estos atributos son específicos para los indicadores de Progreso Lineal.

Elemento 

Atributo

Métodos relacionados

Tipo de animación indeterminado aplicación: tipo de animación indeterminado

setIndeterminateAnimationType

getIndeterminateAnimationType

Dirección del indicador app:indicatorDirecciónLineal

establecerIndicadorDirección

getIndicatorDirection

Atributos específicos para el indicador de progreso circular:

Estos atributos son específicos para los indicadores de Progreso Circular.

Elemento

Atributo

Métodos relacionados

Tamaño de la rueda giratoria (diámetro exterior) aplicación: tamaño del indicador

setIndicatorSize

getIndicatorSize

Recuadro app:indicatorInset

establecerIndicadorRecuadro

getIndicatorInset

Dirección del indicador app:indicatorDirecciónLineal

establecerIndicadorDirección

getIndicatorDirection

Publicación traducida automáticamente

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