安卓快速創建加載動畫-LoadingViewManager

LoadingViewManager For Android

這是一個能快速搭建加載動畫的封裝類,無需任何佈局文件,並搭配多種動畫樣式


準備工作

在build.gradle(app)中加入依賴

 implementation 'com.wang.avi:library:2.1.3'
 implementation 'com.squareup.assertj:assertj-android-cardview-v7:1.2.0'

引入LoadingViewManager

  下載LoadingViewManager.java文件,將其複製到自己的安卓項目中


快速開始

構建動畫

LoadingViewManager.with(Activity或Fragment).setHintText("加載提示").build();

關閉動畫

LoadingViewManager.dismiss();

更多用法

概覽

LoadingViewManager.with(this)                 // Activity或Fragment
                .setHintText("加載中")          // 提示信息
                .setAnimationStyle("BallClipRotatePulseIndicator")  // 修改動畫樣式,傳入樣式名稱
                .setShowInnerRectangle(true)    // 是否顯示矩形框
                .setTouchOutsideToDismiss(true) // 是否點擊動畫外部消失
                .setOutsideAlpha(0.5f)          // 設置外部背景透明度
                .setInnerRectangleAlpha(0.8f)   // 設置矩形框透明度
                .setLoadingContentMargins(20, 40, 20, 50)   // 設置動畫與矩形框的距離,間接也設置了矩形框大小
                .setMinAnimTime(2000)           // 設置動畫的最短時長
                .setAnimationSize(400, 400)     // 設置動畫大小
                .setHintTextSize(50)            // 設置提示文本的大小
                .setInnerRectangleColor("#000") // 設置矩形框顏色
                .setOnTouchOutsideListener(new View.OnClickListener() { // 可定義點擊動畫外部分的響應
                    @Override
                    public void onClick(View v) {
                        
                    }
                })
                .setOnAnimatingListener(new LoadingViewManager.OnAnimatingListener() {  // 動畫加載中的監聽器
                    @Override
                    public void onAnimating() {
                        // 加載中
                    }

                    @Override
                    public void onDismiss() {
                        // 動畫完成(消失)後
                    }
                })
                .build();   // 開始構建

高級

動畫加載中,更新文本信息或動畫樣式

LoadingViewManager.updateHintText("更新提示");
 
LoadingViewManager.updateAnimation("動畫樣式名稱");

強制關閉動畫

LoadingViewManager.dismiss(true); // 參數:isForcedDismiss 是否強制關閉

參數默認值

minAnimTime = 1000

maxAnimTime = 600000

setLoadingContentMargins(50, 50, 50, 50, 20)

setAnimationSize(0.1429)

textSize = 14

setHintTextMaxWidth(0.3333)

動畫樣式

樣式名稱

BallPulseIndicator BallGridPulseIndicator BallClipRotateIndicator BallClipRotatePulseIndicator
SquareSpinIndicator BallClipRotateMultipleIndicator BallPulseRiseIndicator BallRotateIndicator
CubeTransitionIndicator BallZigZagIndicator BallZigZagDeflectIndicator BallTrianglePathIndicator
BallScaleIndicator LineScaleIndicator LineScalePartyIndicator BallScaleMultipleIndicator
BallPulseSyncIndicator BallBeatIndicator LineScalePulseOutIndicator LineScalePulseOutRapidIndicator
BallScaleRippleIndicator BallScaleRippleMultipleIndicator BallSpinFadeLoaderIndicator LineSpinFadeLoaderIndicator
TriangleSkewSpinIndicator PacmanIndicator BallGridBeatIndicator SemiCircleSpinIndicator

本項目Github地址:點擊這裏跳轉

感謝:AVLoadingIndicatorView

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章