地址:https://github.com/LinweiJ/LoadingDialog
使用
先在 project的build.gradle 添加:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
然后在module的build.gradle 添加:
dependencies {
compile 'com.github.LinweiJ:LoadingDialog:V0.0.1'
}
简单使用
LoadingDialog loadingDialog = new LoadingDialog(context);
//或 LoadingDialog loadingDialog = new LoadingDialog.Builder(context).create();
//显示加载框
loadingDialog.loading();
//直接取消加载框
loadingDialog.cancel();
//显示加载成功后取消加载框
loadingDialog.loadSuccess();
//显示加载失败后取消加载框
loadingDialog.loadFail();
自定义参数(文字 延时时间 延时消失事件)
方法一:
这里使用了建造者模式,跟原生dialog一样可以通过builder来初始化设置参数
//自定义参数方法一:通过LoadingDialog.Builder获得LoadingDialog时,定义参数
LoadingDialog.Builder builder = new LoadingDialog.Builder(this);
builder.setLoadingText("处理中...")
.setFailText("处理失败")
.setSuccessText("处理成功")
//设置延时5000ms才消失,可以不设置默认1000ms
.setDefaultDelayMillis(5000)
//设置默认延时消失事件, 可以不设置默认不调用延时消失事件
.setCancelDelayListener(new LoadingDialog.CancelDelayListener() {
@Override
public void success(LoadingDialog dialog) {
dialog.cancel();//加载框消失
Toast.makeText(mActivity, "处理成功==延时消失", Toast.LENGTH_SHORT).show();
}
@Override
public void fail(LoadingDialog dialog) {
dialog.cancel();//加载框消失
Toast.makeText(mActivity, "处理失败==延时消失", Toast.LENGTH_SHORT).show();
}
@Override
public void complete(LoadingDialog dialog) {
dialog.cancel();//加载框消失
Toast.makeText(mActivity, "处理完成或直接延时消失==延时消失", Toast.LENGTH_SHORT).show();
}
});
LoadingDialog loadingDialog = builder.create();
loadingDialog.loadSuccess(); 调用 CancelDelayListener.success()
loadingDialog.loadFail(); 调用 CancelDelayListener.fail()
loadingDialog.cancelDelay(); 调用 CancelDelayListener.complete()
//注意 : 传入延时消失事件时,需要添加 dialog.cancel() 才能使加载框消失
方法二:
LoadingDialog loadingDialog = new LoadingDialog(context);
//显示加载框
loadingDialog.loading("处理中...");
//显示处理成功后取消加载框
loadingDialog.loadSuccess("处理成功");
//显示处理失败后取消加载框
loadingDialog.loadFail("处理失败");
//显示处理完成后取消加载框
loadingDialog.loadComplete("处理完成");
//显示审核成功后延时3s消失 调用SuccessCancelDelayListener.success()
loadingDialog.loadSuccess("审核成功", 3000, new SuccessCancelDelayListener() {
@Override
public void success(LoadingDialog dialog) {
dialog.cancel();//加载框消失
}
});
//显示审核失败后延时3s消失 调用SuccessCancelDelayListener.fail()
loadingDialog.loadFail("审核失败", 3000, new FailCancelDelayListener() {
@Override
public void fail(LoadingDialog dialog) {
dialog.cancel();//加载框消失
Toast.makeText(mActivity, "审核失败==延时3s消失", Toast.LENGTH_SHORT).show();
}
});
//显示审核完成后延时3s消失 调用CompleteCancelDelayListener.complete()
loadingDialog.loadComplete("审核完成", 3000, new CompleteCancelDelayListener() {
@Override
public void complete(LoadingDialog dialog) {
dialog.cancel();//加载框消失
Toast.makeText(mActivity, "审核完成==延时3s消失", Toast.LENGTH_SHORT).show();
}
});//显示处理成功后延时3s消失并弹出toast
//延时3s消失 调用CompleteCancelDelayListener.complete()
loadingDialog.cancelDelay(3000, new CompleteCancelDelayListener() {
@Override
public void complete(LoadingDialog dialog) {
dialog.cancel();//加载框消失
}
});
当然, 方法一 可以和方法二混合使用