UsageStep1Add dependencies in build.gradle.dependencies{ compile'com.wang.avi:library:2.1.3'}Step2Add the AVLoadingIndicatorViewtoyour layout:Simple<com.wang.avi.AVLoadingIndicatorViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"app:indicatorName="BallPulseIndicator"/>Advance<com.wang.avi.AVLoadingIndicatorViewandroid:id="@+id/avi"android :layout_width ="wrap_content"//or your custom sizeandroid :layout_height ="wrap_content"//or your custom sizestyle ="@style/AVLoadingIndicatorView"// or AVLoadingIndicatorView.Large or AVLoadingIndicatorView.Smallandroid :visibility ="visible"//visible or goneapp :indicatorName ="BallPulseIndicator"//Indicator Nameapp :indicatorColor ="your color"/>Step 3It's very simple use just like .voidstartAnim(){ avi .show();// or avi.smoothToShow();} voidstopAnim(){ avi .hide(); // or avi.smoothToHide();} Custom IndicatorSeeMyCustomIndicator in Sample .ProguardWhen using proguard need add rules:-keep classcom.wang.avi.**{*;}-keep classcom.wang.avi.indicators.**{*;}Indicators is load from class names, proguard may change it (rename).IndicatorsAs seen above in the Demo, the indicators are as follows:Row1BallPulseIndicatorBallGridPulseIndicatorBallClipRotateIndicatorBallClipRotatePulseIndicatorRow2SquareSpinIndicatorBallClipRotateMultipleIndicatorBallPulseRiseIndicatorBallRotateIndicatorRow3CubeTransitionIndicatorBallZigZagIndicatorBallZigZagDeflectIndicatorBallTrianglePathIndicatorRow4BallScaleIndicatorLineScaleIndicatorLineScalePartyIndicatorBallScaleMultipleIndicatorRow5BallPulseSyncIndicatorBallBeatIndicatorLineScalePulseOutIndicatorLineScalePulseOutRapidIndicatorRow6BallScaleRippleIndicatorBallScaleRippleMultipleIndicatorBallSpinFadeLoaderIndicatorLineSpinFadeLoaderIndicatorRow7TriangleSkewSpinIndicatorPacmanIndicatorBallGridBeatIndicatorSemiCircleSpinIndicatorRow8com.wang.avi.sample.MyCustomIndicator來源:NVActivityIndicatorView