El arsenal de Android – Animaciones

Una biblioteca simple para mostrar un cargador alrededor de los bordes de un chip de material

Uso

poner en root build.gradle

                   allprojects {
                         repositories {
                             ...
                         maven { url 'https://jitpack.io' }
                    }
                    }

en el módulo build.gradle

           implementation 'com.github.AbhinavChauhan97:LoaderChip:1.0.4'

Simplemente inserte su archivo de diseño

      <com.abhinav.chouhan.loaderchip.LoaderChip
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Click Me"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

Aparecerá una línea de carga roja de forma predeterminada, que puede personalizar con los siguientes atributos

atributo formato Descripción
color del cargador color dar el color deseado a la linea del cargador
ancho del cargador dimensión dar deseado con a la línea de carga
Duración de la vuelta número entero proporcione la duración deseada en milisegundos para una rotación completa de la línea del cargador alrededor del chip
cargar al hacer clic booleano indica si desea o no comenzar a cargar al hacer clic en el chip, el valor predeterminado es verdadero
loaderColorStart / loaderColorEnd color estos atributos caben en una columna porque el efecto es visible solo si ambos están presentes se usan para dibujar la línea de carga en un color degradado, donde loaderColorStart proporciona el color inicial y loaderColorEnd proporciona el color final del degradado, cuando estos atributos están presentes Los atributos loaderColor se ignoran si están presentes, si solo uno de ellos está presente, se utiliza loaderColor.
efecto inverso booleano indica si el cargador debe ir y venir
cargando texto Cuerda texto opcional para mostrar al cargar
cargandoTextColor color color de texto para mostrar al cargar
Estilo del cargador enumeración utilizar para proporcionar un estilo de carga de valores posibles bounce , accelerate , decelerate , accelerateThenDecelerate(por defecto), linear , overshoot , fastOutSlowIn

Cargador predeterminado

Cargador de degradado (utiliza los atributos loaderColorStart y loaderColorEnd para el cargador de degradado de estos dos colores)

Cargador con ancho = 4dp y lapduración = 4000 milisegundos

Cargador con overshoot loaderStyle

Cargador con bounce loaderStyle

revistas con reverseEffect habilitado y con varios radios de esquina

xml de la pantalla de arriba

    <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.abhinav.chouhan.loaderchip.LoaderChip
         android:id="@+id/loaderChip3"
         android:layout_width="200dp"
         android:layout_height="60dp"
         android:text="Clicked Me !"
         app:lapDuration="2000"
         app:loaderWidth="5dp"
         app:loaderStyle="bounce"
         app:chipCornerRadius="5dp"
         app:reverseEffect="true"
         app:layout_constraintVertical_bias="0.7"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintTop_toTopOf="parent" />

   <com.abhinav.chouhan.loaderchip.LoaderChip
          android:id="@+id/loaderChip2"
          android:layout_width="200dp"
          android:layout_height="60dp"
          android:text="Clicked Me !"
          app:lapDuration="3000"
          app:loaderWidth="8dp"
          app:loaderStyle="overshoot"
          app:reverseEffect="true"
          app:loaderColor="@android:color/holo_blue_bright"
          app:loaderColorStart="@android:color/holo_blue_bright"
          app:loaderColorEnd="@android:color/holo_red_light"
          app:layout_constraintVertical_bias="0.1"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintLeft_toLeftOf="parent"
          app:layout_constraintRight_toRightOf="parent"
          app:layout_constraintTop_toTopOf="parent" />

     <com.abhinav.chouhan.loaderchip.LoaderChip
         android:id="@+id/loaderChip"
         android:layout_width="200dp"
         android:layout_height="60dp"
         android:text="Clicked Me !"
         app:lapDuration="2000"
         app:loaderWidth="3dp"
         app:reverseEffect="true"
         app:chipCornerRadius="15dp"
         app:layout_constraintVertical_bias="0.4"
         app:loaderColor="@android:color/holo_blue_bright"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Versión 1.0.5 (10-julio-2021)

proporcionar texto opcional al cargar, atributos loadingText , loadingTextColor se agregan

Contribuciones gracias a StackOverflow cheticamp por arreglar esta error principal

Compruebe también

en vivo desde Droidcon, incluida la mayor actualización de Gemini en Android Studio y más lanzamientos del SDK de Android.

Acabamos de lanzar nuestro episodio de otoño de #TheAndroidShow en YouTube etcétera desarrollador.android.comy esta vez …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *