我们在写软件时常常需要在用户登录注册时,显示一个弹窗,提醒用户正在注册或正在登录中,这些弹窗有利于用户与软件的交互,因为登录和注册是与网络进行通信的,比较耗时,如果不弹出提示,会让用户觉得软件卡住,没有响应等错觉,下面我们就用ProgressDialog简单实现此功能:
首先看看效果图,由于gif不方便,就截了图
private ProgressDialog progress;
下面放出代码,比较简单:
findViewById(R.id.btn_login).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
progress = new ProgressDialog(LoginActivity.this);
progress.setMessage(“正在登陆…”);
progress.setCanceledTouchOutSide(false); //使Dialog之外的屏幕不能点击
progress.show();
下面是处理登陆事件的代码,在服务器中查询检测
.
.
.
成功则不需要处理progress
.
.
.
如果登陆失败,则在失败代码第一行添加:
progress.dismiss(); //失败后,Dialog弹窗不会消失,需要手动销毁弹窗
}
});