4
4
5
5
开发过程中一个简单的提交表单场景:
6
6
7
- 1 . 提交信息,显示"信息提交中,请稍后...";
7
+ 1、 提交信息,显示"信息提交中,请稍后...";
8
8
9
- ![ loadingDialog1.jpg ] ( https://github.com/LinweiJ/LoadingDialog/blob/master/screen_shot/loadingDialog_0.gif )
9
+ 2、信息提交成功,显示"信息提交成功";
10
10
11
- 2 . 信息提交成功,显示"信息提交成功";
11
+ 3、等待 2 s,返回上一页面。
12
12
13
- ![ loadingDialog1.jpg] ( https://github.com/LinweiJ/LoadingDialog/blob/master/screen_shot/loadingDialog_0.gif )
14
-
15
- 3 . 等待 2 s,返回首页。
16
-
17
- ![ loadingDialog1.jpg] ( https://github.com/LinweiJ/LoadingDialog/blob/master/screen_shot/loadingDialog_0.gif )
13
+ 这时,就需要使用加载框了。
18
14
19
15
## 2、如何引用它?
20
16
@@ -32,139 +28,119 @@ allprojects {
32
28
然后在module的build.gradle 添加:
33
29
```
34
30
dependencies {
35
- compile 'com.github.LinweiJ:LoadingDialog:0.1 .0'
36
- }
31
+ compile 'com.github.LinweiJ:LoadingDialog:0.2 .0'
32
+ }
37
33
```
38
34
39
35
40
36
41
37
## 3、全新使用
42
38
43
- ### 3.1、开始显示处理
39
+ 重新设计后 使用更简洁了
40
+
41
+ ### 3.1、Simple
42
+
43
+ #### 3.1.1 方法及参数
44
+
45
+ | 方法 | 描述 | 参数 |
46
+ | ---------------------------------------- | --------------------- | ------------ |
47
+ | SimpleLoadingDialog(@NonNull Context context) | 创建SimpleLoadingDialog | Context |
48
+ | showFirst(String message) | 第一次显示 | 显示文字内容 |
49
+ | showResult(String message) | 显示结果(切换文字而已) | 显示文字内容 |
50
+ | dismissDelay(long delayMillis, DismissDelayEndCallback callback) | 延时消失 | 延时消失时间,消失时回调 |
51
+
52
+ #### 3.1.2 使用(try it)
44
53
45
54
``` java
46
- LoadingDialog loadingDialog = new LoadingDialog (context);
47
- // 或 LoadingDialog loadingDialog = new LoadingDialog.Builder(context).create( );
55
+ // SimpleLoadingDialog
56
+ SimpleLoadingDialog mSimpleLoadingDialog = new SimpleLoadingDialog ( this );
48
57
// 显示加载框
49
- loadingDialog. loading();
50
- // 直接取消加载框
51
- loadingDialog. cancel();
52
- // 显示加载成功后取消加载框
53
- loadingDialog. loadSuccess();
54
- // 显示加载失败后取消加载框
55
- loadingDialog. loadFail();
58
+ mSimpleLoadingDialog. showFirst(" 加载中....." );
59
+ // 模拟延时操作
60
+ mHandler. postDelayed(new Runnable () {
61
+ @Override
62
+ public void run () {
63
+ // 显示结果
64
+ mSimpleLoadingDialog. showResult(" 加载6秒后加载成功" );
65
+ // 延时消失
66
+ mSimpleLoadingDialog. dismissDelay(5000 , new LoadingDialog .DismissDelayEndCallback () {
67
+ @Override
68
+ public void onEnd (LoadingDialog dialog ) {
69
+ Toast . makeText(mActivity, " 加载成功显示5秒消失了" , Toast . LENGTH_SHORT ). show();
70
+ }
71
+ });
72
+ }
73
+ }, 6000 );
56
74
```
57
75
58
- ### 3.2、结果显示处理
76
+ #### 3.1.3 效果图
77
+
59
78
60
- ``` java
61
- // 自定义参数方法一:通过LoadingDialog.Builder获得LoadingDialog时,定义参数
62
- LoadingDialog . Builder builder = new LoadingDialog .Builder (this );
63
- builder. setLoadingText(" 处理中..." )
64
- .setFailText(" 处理失败" )
65
- .setSuccessText(" 处理成功" )
66
- // 设置延时5000ms才消失,可以不设置默认1000ms
67
- .setDefaultDelayMillis(5000 )
68
- // 设置默认延时消失事件, 可以不设置默认不调用延时消失事件
69
- .setCancelDelayListener(new LoadingDialog .CancelDelayListener () {
70
- @Override
71
- public void success (LoadingDialog dialog ) {
72
- dialog. cancel();// 加载框消失
73
- Toast . makeText(mActivity, " 处理成功==延时消失" , Toast . LENGTH_SHORT ). show();
74
- }
75
-
76
- @Override
77
- public void fail (LoadingDialog dialog ) {
78
- dialog. cancel();// 加载框消失
79
- Toast . makeText(mActivity, " 处理失败==延时消失" , Toast . LENGTH_SHORT ). show();
80
- }
81
-
82
- @Override
83
- public void complete (LoadingDialog dialog ) {
84
- dialog. cancel();// 加载框消失
85
- Toast . makeText(mActivity, " 处理完成或直接延时消失==延时消失" , Toast . LENGTH_SHORT ). show();
86
- }
87
- });
88
- LoadingDialog loadingDialog = builder. create();
89
-
90
- loadingDialog. loadSuccess(); 调用 CancelDelayListener . success()
91
- loadingDialog. loadFail(); 调用 CancelDelayListener . fail()
92
- loadingDialog. cancelDelay(); 调用 CancelDelayListener . complete()
93
-
94
-
95
- // 注意 : 传入延时消失事件时,需要添加 dialog.cancel() 才能使加载框消失
96
-
97
- ```
98
- ### 3.3、结果显示处理
79
+
80
+ ### 3.2、Lottie
81
+
82
+ #### 3.2.1 方法及参数
83
+
84
+ | 方法 | 描述 | 参数 |
85
+ | ---------------------------------------- | --------------------- | ---------------------------------- |
86
+ | LottieLoadingDialog(@NonNull Context context) | 创建LottieLoadingDialog | Context context |
87
+ | showFirst(String message, int typeLottie, @Nullable String jsonFileName) | 第一次显示 | 显示文字内容,Lottie动画Type,Lottie动画文件(可空) |
88
+ | showResult(String message, int typeLottie, @Nullable String jsonFileName) | 显示结果(切换文字及Lottie动画而已) | 显示文字内容,Lottie动画Type,Lottie动画文件(可空) |
89
+ | dismissDelay(long delayMillis, DismissDelayEndCallback callback) | 延时消失 | 延时消失时间,消失时回调 |
90
+
91
+
92
+
93
+ #### 3.2.1 使用(try it)
99
94
100
95
``` java
101
- LoadingDialog loadingDialog = new LoadingDialog (context);
96
+ // LottieLoadingDialog
97
+ LottieLoadingDialog mLottieLoadingDialog = new LottieLoadingDialog (this );
102
98
// 显示加载框
103
- loadingDialog. loading(" 处理中..." );
104
- // 显示处理成功后取消加载框
105
- loadingDialog. loadSuccess(" 处理成功" );
106
- // 显示处理失败后取消加载框
107
- loadingDialog. loadFail(" 处理失败" );
108
- // 显示处理完成后取消加载框
109
- loadingDialog. loadComplete(" 处理完成" );
110
-
111
- // 显示审核成功后延时3s消失 调用SuccessCancelDelayListener.success()
112
- loadingDialog. loadSuccess(" 审核成功" , 3000 , new SuccessCancelDelayListener () {
113
- @Override
114
- public void success (LoadingDialog dialog ) {
115
- dialog. cancel();// 加载框消失
116
- }
117
- });
118
- // 显示审核失败后延时3s消失 调用SuccessCancelDelayListener.fail()
119
- loadingDialog. loadFail(" 审核失败" , 3000 , new FailCancelDelayListener () {
120
- @Override
121
- public void fail (LoadingDialog dialog ) {
122
- dialog. cancel();// 加载框消失
123
- Toast . makeText(mActivity, " 审核失败==延时3s消失" , Toast . LENGTH_SHORT ). show();
124
- }
125
- });
126
- // 显示审核完成后延时3s消失 调用CompleteCancelDelayListener.complete()
127
- loadingDialog. loadComplete(" 审核完成" , 3000 , new CompleteCancelDelayListener () {
128
- @Override
129
- public void complete (LoadingDialog dialog ) {
130
- dialog. cancel();// 加载框消失
131
- Toast . makeText(mActivity, " 审核完成==延时3s消失" , Toast . LENGTH_SHORT ). show();
132
- }
133
- });// 显示处理成功后延时3s消失并弹出toast
134
- // 延时3s消失 调用CompleteCancelDelayListener.complete()
135
- loadingDialog. cancelDelay(3000 , new CompleteCancelDelayListener () {
136
- @Override
137
- public void complete (LoadingDialog dialog ) {
138
- dialog. cancel();// 加载框消失
139
- }
140
- });
99
+ mLottieLoadingDialog. showFirst(" 加载中..." , TYPE_LOADING_1 , null );
100
+ new Handler (). postDelayed(new Runnable () {
101
+ @Override
102
+ public void run () {
103
+ // 显示结果
104
+ mLottieLoadingDialog. showResult(" 加载4秒后加载成功..." , TYPE_SUCCESS_1 , null );
105
+ // 延时消失
106
+ mLottieLoadingDialog. dismissDelay(2000 , new LoadingDialog .DismissDelayEndCallback () {
107
+ @Override
108
+ public void onEnd (LoadingDialog dialog ) {
109
+ Toast . makeText(mActivity, " 加载成功显示2秒消失了" , Toast . LENGTH_LONG ). show();
110
+ }
111
+ });
112
+ }
113
+ }, 4000 );
141
114
115
+ ```
142
116
117
+ #### 3.1.2 效果图
143
118
144
- ```
145
- ### 3.4、其他参数
146
119
147
- ```
148
120
121
+ ### 3.3、其他
149
122
123
+ #### 3.3.1 、不可取消
150
124
125
+ ``` java
126
+ // 跟Dialog一样样的
127
+ mLottieLoadingDialog. setCancelable(false );
128
+ mLottieLoadingDialog. setCanceledOnTouchOutside(false );
151
129
```
152
130
153
- ### 3.4 、效果图
131
+ #### 3.3.2 、效果图
154
132
155
- ![ loadingDialog.gif] ( https://github.com/LinweiJ/LoadingDialog/blob/master/screen_shot/loadingDialog_2.gif )
156
133
157
- ## 4. 快速构建Builder
158
134
159
- #### 4.1、Simple模式
135
+ ## 4. 自定义
160
136
161
- #### 4.2、Lottie模式
137
+ ####
162
138
163
139
164
140
165
141
## 5、更多
166
142
167
- 更多细节可以参考 demo / 示例
143
+ 更多细节可以参考 app / 示例
168
144
169
145
170
146
0 commit comments