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地址:點擊這裏跳轉