一、前言:
自定义的加载框偶尔会有Bug,我们可以采用第三方轮子来实现Android 的加载框。
项目地址:https://github.com/fingerth/FingerthAndroidUtils 点击
二、项目引入:
1. 项目引入:
- 添加仓库地址
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- 添加jar包
dependencies {
implementation 'com.github.fingerth:FingerthAndroidUtils:1.0.3'
}
三、项目使用:
1、代码1
SYSDiaLogUtils.showSuccessDialog(this, false);
-
效果图1
图片.png
2、代码2
SYSDiaLogUtils.showSuccessDialog(this, "操作成功", "恭喜你,操作成功了!", "OK", false);
-
效果图2
图片.png
3、代码3
SYSDiaLogUtils.showInfoDialog(this, "操作提示", "很抱歉,你還不够硬气!", "取消", false);
-
效果图3
图片.png
4、代码4
SYSDiaLogUtils.showErrorDialog(this, "错误警告", "很抱歉,你这次真的是错了,请重新试试!", "取消", false);
-
效果图4
图片.png
5、代码5
SYSDiaLogUtils.showSystemProgressDialog(this, "标题", "", false, new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
Toast.makeText(MainActivity.this, "点击消失", Toast.LENGTH_SHORT).show();
}
});
-
效果图5
图片.png
6、代码6
SYSDiaLogUtils.showProgressDialog(this, SYSDiaLogUtils.SYSDiaLogType.IosType, "加載中...", false, new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
Toast.makeText(MainActivity.this, "点击消失", Toast.LENGTH_SHORT).show();
}
});
-
效果图6
图片.png
7、代码7
SYSDiaLogUtils.showProgressBar(this, "", "", false, new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
if (SYSDiaLogUtils.getProgressBar() < 100) {
if (asyncTaskProgress != null) {
asyncTaskProgress.cancel(true);
}
SYSDiaLogUtils.showErrorDialog(MainActivity.this, "下载失败", "由于你取消了下载,请致下载失败!", "确定", false);
}
}
});
asyncTaskProgress = new AsyncTaskProgress();
asyncTaskProgress.execute("");
-
效果图7
图片.png
8、代码8
SYSDiaLogUtils.showProgressBar(this, SYSDiaLogUtils.SYSDiaLogType.HorizontalWithNumberProgressBar, "正在加载...");
asyncTaskProgress = new AsyncTaskProgress();
asyncTaskProgress.execute("");
-
效果图8
图片.png
9、代码9
SYSDiaLogUtils.showProgressBar(this, SYSDiaLogUtils.SYSDiaLogType.RoundWidthNumberProgressBar, "正在加载...");
asyncTaskProgress = new AsyncTaskProgress();
asyncTaskProgress.execute("");
-
效果图9
图片.png
10、代码10
SYSDiaLogUtils.showConfirmDialog(this, true, SYSDiaLogUtils.SYSConfirmType.Tip, "标题", "我是提示!", new SYSDiaLogUtils.ConfirmDialogListener() {
@Override
public void onClickButton(boolean clickLeft, boolean clickRight) {
if (clickLeft) {
Toast.makeText(MainActivity.this, "left", Toast.LENGTH_SHORT).show();
} else if (clickRight) {
Toast.makeText(MainActivity.this, "right", Toast.LENGTH_SHORT).show();
}
}
});
-
效果图10
图片.png
- AsyncTaskProgress 的代码
private AsyncTaskProgress asyncTaskProgress;
private class AsyncTaskProgress extends AsyncTask<String, Integer, Object> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Object doInBackground(String... params) {
for (int i = 0; i < 100; i++) {
SystemClock.sleep(50);
publishProgress(i + 1);
}
return params;
}
@Override
protected void onProgressUpdate(Integer... values) {
//horizontal_bar.setProgress(values[0] % 100);
SYSDiaLogUtils.setProgressBar(values[0] % 100);
if (values[0] == 100) {
SYSDiaLogUtils.dismissProgress();
SYSDiaLogUtils.showSuccessDialog(MainActivity.this, false);
}
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(Object o) {
super.onPostExecute(o);
}
}
}
四、小结一下
- 对话框,我一般都用系统提供的了,自定义bug太多,没有Google提供的稳定。
- 其实我还写了很多方法,代码很简单,入门级。
原文链接:https://blog.csdn.net/fingerth/article/details/76099182
网友评论