Skip to content

Commit 6799661

Browse files
committed
delayMillis cancelDelayListener
1 parent 35a7033 commit 6799661

File tree

11 files changed

+732
-131
lines changed

11 files changed

+732
-131
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@
88
android:label="@string/app_name"
99
android:supportsRtl="true"
1010
android:theme="@style/AppTheme">
11-
<activity android:name="com.wega.loadingDialog.MainActivity">
11+
<activity android:name=".MainActivity">
1212
<intent-filter>
1313
<action android:name="android.intent.action.MAIN" />
1414

1515
<category android:name="android.intent.category.LAUNCHER" />
1616
</intent-filter>
1717
</activity>
18+
<activity android:name=".Custom1Activity" />
19+
<activity android:name=".Custom2Activity"></activity>
1820
</application>
1921

2022
</manifest>
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
package com.wega.loadingDialog;
2+
3+
import android.content.DialogInterface;
4+
import android.os.Handler;
5+
import android.support.v7.app.AppCompatActivity;
6+
import android.os.Bundle;
7+
import android.view.View;
8+
import android.widget.Toast;
9+
10+
import com.wega.library.loadingDialog.LoadingDialog;
11+
12+
/**
13+
* 自定义参数方法一
14+
* 通过LoadingDialog.Builder获得LoadingDialog时,定义参数(修改默认参数)
15+
*/
16+
public class Custom1Activity extends AppCompatActivity implements View.OnClickListener {
17+
18+
private Handler mHandler;
19+
private Custom1Activity mActivity;
20+
private LoadingDialog mCustomloadingDialog;
21+
22+
@Override
23+
protected void onCreate(Bundle savedInstanceState) {
24+
super.onCreate(savedInstanceState);
25+
setContentView(R.layout.activity_custom1);
26+
findViewById(R.id.button_success_custom).setOnClickListener(this);
27+
findViewById(R.id.button_fail_custom).setOnClickListener(this);
28+
findViewById(R.id.button_cancel_delay_custom).setOnClickListener(this);
29+
findViewById(R.id.button_complete_custom).setOnClickListener(this);
30+
31+
32+
mHandler = new Handler();
33+
mActivity = this;
34+
//自定义参数方法一:通过LoadingDialog.Builder获得LoadingDialog时,定义参数
35+
LoadingDialog.Builder builder = new LoadingDialog.Builder(this);
36+
builder.setLoadingText("处理中...")
37+
.setFailText("处理失败")
38+
.setSuccessText("处理成功")
39+
.setDefaultDelayMillis(5000)//延时5000ms才消失
40+
.setCancelDelayListener(new LoadingDialog.CancelDelayListener() {
41+
@Override
42+
public void success(LoadingDialog dialog) {
43+
dialog.cancel();//加载框消失
44+
Toast.makeText(mActivity, "处理成功==延时消失", Toast.LENGTH_SHORT).show();
45+
}
46+
47+
@Override
48+
public void fail(LoadingDialog dialog) {
49+
dialog.cancel();//加载框消失
50+
Toast.makeText(mActivity, "处理失败==延时消失", Toast.LENGTH_SHORT).show();
51+
}
52+
53+
@Override
54+
public void complete(LoadingDialog dialog) {
55+
dialog.cancel();//加载框消失
56+
Toast.makeText(mActivity, "处理完成或直接延时消失==延时消失", Toast.LENGTH_SHORT).show();
57+
}
58+
});
59+
60+
61+
mCustomloadingDialog = builder.create();
62+
}
63+
64+
@Override
65+
public void onClick(View view) {
66+
67+
switch (view.getId()) {
68+
//显示处理成功后5000ms取消加载框 弹出toast
69+
case R.id.button_success_custom:
70+
mCustomloadingDialog.loading();//显示加载框
71+
//模拟延时操作
72+
mHandler.postDelayed(new Runnable() {
73+
@Override
74+
public void run() {
75+
mCustomloadingDialog.loadSuccess();
76+
}
77+
}, 2000);
78+
break;
79+
//显示处理失败后5000ms取消加载框 弹出toast
80+
case R.id.button_fail_custom:
81+
mCustomloadingDialog.loading();//显示加载框
82+
//模拟延时操作
83+
mHandler.postDelayed(new Runnable() {
84+
@Override
85+
public void run() {
86+
mCustomloadingDialog.loadFail();
87+
}
88+
}, 2000);
89+
break;
90+
//延时取消加载框 弹出toast
91+
case R.id.button_cancel_delay_custom:
92+
mCustomloadingDialog.loading();//显示加载框
93+
//模拟延时操作
94+
mHandler.postDelayed(new Runnable() {
95+
@Override
96+
public void run() {
97+
mCustomloadingDialog.cancelDelay();
98+
}
99+
}, 2000);
100+
break;
101+
//处理完成5000ms取消加载框 弹出toast
102+
case R.id.button_complete_custom:
103+
mCustomloadingDialog.loading();//显示加载框
104+
//模拟延时操作
105+
mHandler.postDelayed(new Runnable() {
106+
@Override
107+
public void run() {
108+
mCustomloadingDialog.cancelDelay();
109+
}
110+
}, 2000);
111+
break;
112+
}
113+
114+
}
115+
}
Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
package com.wega.loadingDialog;
2+
3+
import android.content.DialogInterface;
4+
import android.os.Handler;
5+
import android.support.v7.app.AppCompatActivity;
6+
import android.os.Bundle;
7+
import android.view.View;
8+
import android.widget.Toast;
9+
10+
import com.wega.library.loadingDialog.CompleteCancelDelayListener;
11+
import com.wega.library.loadingDialog.FailCancelDelayListener;
12+
import com.wega.library.loadingDialog.LoadingDialog;
13+
import com.wega.library.loadingDialog.SuccessCancelDelayListener;
14+
15+
/**
16+
* 自定义参数方法二
17+
* 调用LoadingDialog方法时,传入参数(不会修改默认参数)
18+
*/
19+
public class Custom2Activity extends AppCompatActivity implements View.OnClickListener {
20+
21+
private LoadingDialog mDefaultLoadingDialog;
22+
private Handler mHandler;
23+
private Custom2Activity mActivity;
24+
25+
@Override
26+
protected void onCreate(Bundle savedInstanceState) {
27+
super.onCreate(savedInstanceState);
28+
setContentView(R.layout.activity_custom2);
29+
30+
31+
mHandler = new Handler();
32+
mActivity = this;
33+
34+
findViewById(R.id.button_fail_custom_2).setOnClickListener(this);
35+
findViewById(R.id.button_success_custom_2).setOnClickListener(this);
36+
findViewById(R.id.button_cancel_custom_2).setOnClickListener(this);
37+
findViewById(R.id.button_complete_custom_2).setOnClickListener(this);
38+
39+
findViewById(R.id.button_fail_custom_2_all).setOnClickListener(this);
40+
findViewById(R.id.button_success_custom_2_all).setOnClickListener(this);
41+
findViewById(R.id.button_cancel_custom_2_all).setOnClickListener(this);
42+
findViewById(R.id.button_complete_custom_2_all).setOnClickListener(this);
43+
44+
//默认文字 延时消失时间(1000ms) 无延时消失监听事件
45+
mDefaultLoadingDialog = new LoadingDialog(this);
46+
// mDefaultLoadingDialog = new LoadingDialog.Builder(this).create();这样也可以
47+
48+
}
49+
50+
@Override
51+
public void onClick(View view) {
52+
switch (view.getId()) {
53+
54+
//显示处理失败后默认1000ms取消加载框
55+
case R.id.button_cancel_custom_2:
56+
mDefaultLoadingDialog.loading("审核中>>>");//显示加载框
57+
//模拟延时操作
58+
mHandler.postDelayed(new Runnable() {
59+
@Override
60+
public void run() {
61+
mDefaultLoadingDialog.cancel();
62+
}
63+
}, 2000);
64+
break;
65+
//显示处理成功后默认1000ms取消加载框
66+
case R.id.button_success_custom_2:
67+
mDefaultLoadingDialog.loading("审核中>>>");//显示加载框
68+
//模拟延时操作
69+
mHandler.postDelayed(new Runnable() {
70+
@Override
71+
public void run() {
72+
mDefaultLoadingDialog.loadSuccess("审核成功");
73+
}
74+
}, 2000);
75+
break;
76+
//显示处理成功后默认1000ms取消加载框
77+
case R.id.button_fail_custom_2:
78+
mDefaultLoadingDialog.loading("审核中>>>");//显示加载框
79+
//模拟延时操作
80+
mHandler.postDelayed(new Runnable() {
81+
@Override
82+
public void run() {
83+
mDefaultLoadingDialog.loadFail("审核失败");
84+
}
85+
}, 2000);
86+
break;
87+
//以上两种情况 成功loadSuccess、失败loadFail时其实都可以调用这个方法来实行
88+
case R.id.button_complete_custom_2:
89+
mDefaultLoadingDialog.loading("审核中>>>");//显示加载框
90+
//模拟延时操作
91+
mHandler.postDelayed(new Runnable() {
92+
@Override
93+
public void run() {
94+
mDefaultLoadingDialog.loadComplete("审核完成");//显示处理成功后默认1000ms取消加载框
95+
}
96+
}, 2000);
97+
break;
98+
99+
//显示处理失败后延时3s消失并弹出toast
100+
case R.id.button_cancel_custom_2_all:
101+
mDefaultLoadingDialog.loading("审核中>>>");//显示加载框
102+
//模拟延时操作
103+
mHandler.postDelayed(new Runnable() {
104+
@Override
105+
public void run() {
106+
mDefaultLoadingDialog.cancelDelay(3000, new CompleteCancelDelayListener() {
107+
@Override
108+
public void complete(LoadingDialog dialog) {
109+
dialog.cancel();//加载框消失
110+
Toast.makeText(mActivity, "延时消失==延时3s消失", Toast.LENGTH_SHORT).show();
111+
}
112+
});
113+
}
114+
}, 2000);
115+
break;
116+
//显示处理成功后延时3s消失并弹出toast
117+
case R.id.button_success_custom_2_all:
118+
mDefaultLoadingDialog.loading("审核中>>>");//显示加载框
119+
//模拟延时操作
120+
mHandler.postDelayed(new Runnable() {
121+
@Override
122+
public void run() {
123+
mDefaultLoadingDialog.loadSuccess("审核成功", 3000, new SuccessCancelDelayListener() {
124+
@Override
125+
public void success(LoadingDialog dialog) {
126+
dialog.cancel();//加载框消失
127+
Toast.makeText(mActivity, "审核成功==延时3s消失", Toast.LENGTH_SHORT).show();
128+
}
129+
});
130+
}
131+
}, 2000);
132+
break;
133+
//显示处理成功后延时3s消失并弹出toast
134+
case R.id.button_fail_custom_2_all:
135+
mDefaultLoadingDialog.loading("审核中>>>");//显示加载框
136+
//模拟延时操作
137+
mHandler.postDelayed(new Runnable() {
138+
@Override
139+
public void run() {
140+
mDefaultLoadingDialog.loadFail("审核失败", 3000, new FailCancelDelayListener() {
141+
@Override
142+
public void fail(LoadingDialog dialog) {
143+
dialog.cancel();//加载框消失
144+
Toast.makeText(mActivity, "审核失败==延时3s消失", Toast.LENGTH_SHORT).show();
145+
}
146+
});
147+
}
148+
}, 2000);
149+
break;
150+
//以上两种情况 成功loadSuccess、失败loadFail时其实都可以调用这个方法来实行
151+
case R.id.button_complete_custom_2_all:
152+
mDefaultLoadingDialog.loading("审核中>>>");//显示加载框
153+
//模拟延时操作
154+
mHandler.postDelayed(new Runnable() {
155+
@Override
156+
public void run() {
157+
mDefaultLoadingDialog.loadComplete("审核完成", 3000, new CompleteCancelDelayListener() {
158+
@Override
159+
public void complete(LoadingDialog dialog) {
160+
dialog.cancel();//加载框消失
161+
Toast.makeText(mActivity, "审核完成==延时3s消失", Toast.LENGTH_SHORT).show();
162+
}
163+
});//显示处理成功后延时3s消失并弹出toast
164+
}
165+
}, 2000);
166+
break;
167+
168+
}
169+
}
170+
}

0 commit comments

Comments
 (0)