The Android Arsenal – Vistas

Un PowerView de Android con animaciones geniales y carga circular, inspirado en HotspotShieldVPN.

Instalación

AXPowerView está disponible en JCenter, por lo que solo necesita agregarlo como una dependencia (módulo Gradle)

Gradle

implementation 'com.aghajari.powerview:AXPowerView:1.0.0'

Experto de

<dependency>
  <groupId>com.aghajari.powerview</groupId>
  <artifactId>AXPowerView</artifactId>
  <version>1.0.0</version>
  <type>pom</type>
</dependency>

agregue AXPowerView a su diseño:

<com.aghajari.powerview.AXPowerView
    android:id="@+id/powerView"
    android:layout_width="184dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    app:autoStart="true"
    app:color="#55A4F1"
    app:innerColor="@android:color/white"
    app:state="POWER" />

¡Eso es todo lo que necesitas! Si no desea que AXPowerView inicie la animación automáticamente, omita la opción app: autoStart e iníciela manualmente usted mismo:

AXPowerView powerView = findViewById(R.id.powerView);
powerView.setState(AXPowerView.State.POWER);

Estados: OCULTO | PODER | CARGANDO | ÉXITO

Atributos XML

Nombre de pila género Defecto Descripción
color color # 55A4F1 color del círculo principal
innerColor color negro color de la vista interior
grosor dimensión 4dp espesor de la llanta principal
Espesor interno color 3dp espesor de la vista interna
duración indeterminada número entero 600 carga de duración de la animación
retrasar número entero 80 retraso en la carga de la animación
showDuration número entero 400 que muestra la duración de la animación
SuccessDuration número entero 400 duración exitosa de la animación
inicio automático booleano cierto Indica si la vista debe comenzar a animarse automáticamente una vez que se inicializa.
primera animación booleano cierto Si la vista necesita cargar el estado actual sin animación por primera vez
innerViewEnabled booleano cierto Indica si la vista debe dibujar innerView
estado enumeración ESCONDIDO estado de visualización actual (HIDDEN | POWER | LOADING | SUCCED)

Métodos públicos

Nombre de pila Descripción
setState (AXPowerView.State) Establece el estado actual de AXPowerView
setState (AXPowerView.State, booleano) Establece el estado actual de AXPowerView
getCurrentState () Devuelve el estado actual de AXPowerView
getNextState () Devuelve el estado del siguiente AXPowerView
isAnimationRunning () Comprueba si la animación se está ejecutando
setAutoStart (booleano) Establezca si la vista debe comenzar a animarse automáticamente una vez inicializada.
isAnimationRunning () Compruebe si la vista debería comenzar a animarse automáticamente una vez inicializada.
isInnerViewEnabled () Compruebe si innerView está habilitado
setInnerViewEnabled (booleano) Establecer el innerView habilitado
setColor (int) Establecer el color del círculo principal
getColor () Obtiene el color del círculo principal
setInnerColor (int) Establece el color de innerView
getInnerColor () Obtiene el color de innerView
setThickness (flotar) Establece el grosor del círculo principal
getThickness () Obtiene el grosor del círculo principal
setInnerThickness (flotante) Establece el grosor de innerView
getInnerThickness () Obtiene el grosor de innerView
setIndeterminateDuration (largo) Establecer la duración de la animación de carga
getIndeterminateDuration () Obtiene la duración de la animación de carga
setShowDuration (largo) Establecer la duración de la animación
getShowDuration () Obtiene la duración de la animación.
setSucceedDuration (largo) Establecer la duración de la animación
getSucceedDuration () Obtiene la duración de la siguiente animación
setDelay (largo) Establecer el retraso de carga de la animación
getDelay () Obtiene el retraso de carga de la animación
setAnimatorListener (oyente) Registre un AXPowerView.AnimatorListener con esta vista.

Eventos de escucha

Evento Descripción
onAnimationEnded (estado currentState, estado nextState) Llamado al final de la última animación
onStateChanged (estado desde, estado hasta, boolean animationLoaded) Llamado cuando el estado ha cambiado

Autor

Copyright 2020 Amir Hossein Aghajari
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

.

Compruebe también

Blog para desarrolladores de Android: Lucha contra las estafas de robo de identidad: el enfoque innovador de Monzo

Publicado por Todd Burner, ingeniero de relaciones con desarrolladores Los ciberdelincuentes continúan invirtiendo en estafas …

Deja una respuesta

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