AVLoadingIndicatorView加载效果动画

    xiaoxiao2021-12-10  22

    AVLoadingIndicatorView是一个实现了各种各样加载效果的库,每一种效果都很精美。

    运行效果:

    github地址:https://github.com/81813780/AVLoadingIndicatorView

    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(); }

    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

    the indicators are as follows:

    Row 1

    BallPulseIndicatorBallGridPulseIndicatorBallClipRotateIndicatorBallClipRotatePulseIndicator

    Row 2

    SquareSpinIndicatorBallClipRotateMultipleIndicatorBallPulseRiseIndicatorBallRotateIndicator

    Row 3

    CubeTransitionIndicatorBallZigZagIndicatorBallZigZagDeflectIndicatorBallTrianglePathIndicator

    Row 4

    BallScaleIndicatorLineScaleIndicatorLineScalePartyIndicatorBallScaleMultipleIndicator

    Row 5

    BallPulseSyncIndicatorBallBeatIndicatorLineScalePulseOutIndicatorLineScalePulseOutRapidIndicator

    Row 6

    BallScaleRippleIndicatorBallScaleRippleMultipleIndicatorBallSpinFadeLoaderIndicatorLineSpinFadeLoaderIndicator

    Row 7

    TriangleSkewSpinIndicatorPacmanIndicatorBallGridBeatIndicatorSemiCircleSpinIndicator

    Row 8

    com.wang.avi.sample.MyCustomIndicator 项目中应用: Activity中使用 DataLoadingDialog mDataLoadingDialog  = new DataLoadingDialog(this); mDataLoadingDialog.show(); mDataLoadingDialog.dismiss(); public class DataLoadingDialog extends Dialog { public DataLoadingDialog(Context context) { super(context, R.style.loadingdialog); } public DataLoadingDialog(Context context, int theme) { super(context, theme); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.data_loading); } public void setMsg(String text) { } } loadingdialog代码是以下 <style name="loadingdialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> <item name="android:background">@android:color/transparent</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:backgroundDimEnabled">true</item> <item name="android:backgroundDimAmount">0.6</item> </style> data_loading代码是以下<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.wang.avi.AVLoadingIndicatorView android:id="@+id/avloa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="visible" app:indicator="BallClipRotate" app:indicator_color="@color/red" /> <!--<com.wang.avi.AVLoadingIndicatorView--> <!--android:id="@+id/avloa"--> <!--android:layout_width="wrap_content"--> <!--android:layout_height="wrap_content"--> <!--android:visibility="visible"--> <!--app:indicator="BallClipRotate"--> <!--app:indicator_color="@color/red"--> <!--/>--> </LinearLayout>

    转载请注明原文地址: https://ju.6miu.com/read-700090.html

    最新回复(0)