效果图:
Usage
Step 1
Add dependencies in build.gradle.
dependencies { compile 'com.wang.avi:library:2.1.3' }
Step 2
Add the AVLoadingIndicatorView to your layout:
Simple
<com.wang.avi.AVLoadingIndicatorView android:layout_width="wrap_content" android:layout_height="wrap_content" app:indicatorName="BallPulseIndicator" />
Advance
<com.wang.avi.AVLoadingIndicatorView android:id="@+id/avi" android:layout_width="wrap_content" //or your custom size android:layout_height="wrap_content" //or your custom size style="@style/AVLoadingIndicatorView"// or AVLoadingIndicatorView.Large or AVLoadingIndicatorView.Small android:visibility="visible" //visible or gone app:indicatorName="BallPulseIndicator"//Indicator Name app:indicatorColor="your color" />
Step 3
It's very simple use just like .
void startAnim(){ avi.show(); // or avi.smoothToShow(); } void stopAnim(){ avi.hide(); // or avi.smoothToHide(); }
Custom Indicator
See MyCustomIndicator in Sample .
Proguard
When using proguard need add rules:
-keep class com.wang.avi.** { ; }-keep class com.wang.avi.indicators.* { *; }
Indicators is load from class names, proguard may change it (rename).
Indicators
As seen above in the Demo, the indicators are as follows:
Row 1
BallPulseIndicator
BallGridPulseIndicator
BallClipRotateIndicator
BallClipRotatePulseIndicator
Row 2
SquareSpinIndicator
BallClipRotateMultipleIndicator
BallPulseRiseIndicator
BallRotateIndicator
Row 3
CubeTransitionIndicator
BallZigZagIndicator
BallZigZagDeflectIndicator
BallTrianglePathIndicator
Row 4
BallScaleIndicator
LineScaleIndicator
LineScalePartyIndicator
BallScaleMultipleIndicator
Row 5
BallPulseSyncIndicator
BallBeatIndicator
LineScalePulseOutIndicator
LineScalePulseOutRapidIndicator
Row 6
BallScaleRippleIndicator
BallScaleRippleMultipleIndicator
BallSpinFadeLoaderIndicator
LineSpinFadeLoaderIndicator
Row 7
TriangleSkewSpinIndicator
PacmanIndicator
BallGridBeatIndicator
SemiCircleSpinIndicator
Row 8
com.wang.avi.sample.MyCustomIndicator
Thanks
NVActivityIndicatorView
Connor Atherton