Hermosa animación de carga de Android: AVLoadingIndicatorView

animación del nombre correspondiente

Fila 1

BolaPulsoIndicador

BolaCuadrículaPulsoIndicador

BallClipGirarIndicador

BolaClipGirarPulsoIndicador

Fila 2

Indicador de giro cuadrado

BallClipGirarMúltipleIndicador

bolapulsoaumentoindicador

bolagirarindicador

Fila 3

CubeTransitionIndicator

BolaZigZagIndicador

BallZigZagDeflectIndicator

bolatriángulorutaindicador

Fila 4

BolaEscalaIndicador

Indicador de escala de línea

LineScalePartyIndicator

PelotaEscalaMúltipleIndicador

Fila 5

BolaPulsoSincronizaciónIndicador

BolaBeatIndicator

LineScalePulseOutIndicator

LíneaEscalaPulsoSalirRápidoIndicador

Fila 6

bolaescalaondulaciónindicador

bolaescalaondulaciónmúltipleindicador

BallSpinFadeLoaderIndicator

LineSpinFadeLoaderIndicator

Fila 7

TriánguloSkewSpinIndicator

PacmanIndicador

bolacuadrículagolpeindicador

SemicírculoGirarIndicador

Uso actual:

Paso 1:

bulid.gradle

dependencies {
   compile 'com.wang.avi:library:2.1.3'
}

Paso 2:

diálogo_cargando.xml

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center">

    <com.wang.avi.AVLoadingIndicatorView
        android:id="@+id/avi"
        style="@style/AVLoadingIndicatorView.Small"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="visible"
        app:indicatorColor="#FF0000"
        app:indicatorName="LineSpinFadeLoaderIndicator" />
</RelativeLayout>

Paso 3:

estilo.xml

<style name="TransparentDialog" parent="@android:style/Theme.Holo.Light.Dialog">
    <item name="android:windowBackground">@android:color/transparent</item>
</style>

Etapa 4:

LoadingDialog.java

/**
 * 加载中Dialog
 * 
 * @author mdb
 */
public class LoadingDialog extends AlertDialog {

    private static LoadingDialog loadingDialog;
    private AVLoadingIndicatorView avi;

    public static LoadingDialog getInstance(Context context) {
        loadingDialog = new LoadingDialog(context, R.style.TransparentDialog); //设置AlertDialog背景透明
        loadingDialog.setCancelable(false);
        loadingDialog.setCanceledOnTouchOutside(false);
        return loadingDialog;
    }

    public LoadingDialog(Context context, int themeResId) {
        super(context,themeResId);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.dialog_loading);
        avi = (AVLoadingIndicatorView)this.findViewById(R.id.avi);
    }

    @Override
    public void show() {
        super.show();
        avi.show();
    }

    @Override
    public void dismiss() {
        super.dismiss();
        avi.hide();
    }
}

Paso 5:

El cuadro de carga muestra

LoadingDialog.getInstance(this).show();

caja de carga oculta

LoadingDialog.getInstance(this).dismiss();

Supongo que te gusta

Origin blog.csdn.net/as425017946/article/details/124320604
Recomendado
Clasificación