AVLoadingIndicatorView的使用

github上比较酷炫的loading动画https://github.com/81813780/AVLoadingIndicatorView/blob/master/screenshots/avi.gif
,对此此简单的封装一下.

public class LoadingDialog extends Dialog {

   private  AVLoadingIndicatorView avi;
   private  TextView messagetv;
   private  RelativeLayout loadingbg;

   /**
    * 自定义主题及布局的构造方法
    * @param context
    * @param theme// 去除顶部蓝色线条
    */
   public LoadingDialog(Context context, int theme){
       super(context, theme);
       /**设置对话框背景透明*/
       getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
       setContentView(R.layout.loading_layout);
       loadingbg = (RelativeLayout) findViewById(R.id.loadingbg);
       avi = (AVLoadingIndicatorView) findViewById(R.id.avi);
       messagetv = (TextView) findViewById(R.id.message);
   }

   /**
    * 为加载进度个对话框设置不同的提示消息
    *
    * @param message 给用户展示的提示信息
    * @return build模式设计,可以链式调用
    */
   public LoadingDialog setMessage(String message) {
       messagetv.setText(message);
       return this;
   }

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

   /***
    * 设置loading背景色
    * @param Colorbg
    * @return
    */
   public LoadingDialog setLoadingBg(int Colorbg){
       loadingbg.setBackgroundColor(Colorbg);
       return this;
   }

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

布局

   
>

    

        

        
    


其中关注的主要属性就是
indicatorColor 控制loading的着色
indicatorName 各种不同的样式的loading
如下就是LineScalePartyIndicator

AVLoadingIndicatorView的使用_第1张图片
image.png

对于不同样式的选择 如下:(可以对照上图 gif 图找到对应动画,通过indicatorName进行设置)或者java 代码中avi.setIndicator(indicatorName);进行设置

IndicatorsName 列表

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

去除顶部蓝色横条样式

  

你可能感兴趣的:(AVLoadingIndicatorView的使用)