登录过程中想实现这样的一个效果,望高手指点 输入完用户名及密码后,惦记登录按钮。此时我希望出现一个透明的层,然后出现登录中,或者出现进度的圈圈(后台此时用线程创建一个connection去第三方系统做验证)请问哪位有代码示例给看看啊,或者给说下实现的原理,要怎么去实现,谢谢了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 登录成功后(第三方系统返回一个标志位),层消失,转到另外一个activity 可以用popupwindow来实现,你设置背景的清晰度alpha就行了也可以跳转到另外的activity,不过这个activity的模式要设置成dialog的模式,背景依旧要设置 直接在activity里面override onCreateDialog方法,在这个里面创建个ProgressDialog,这个对话框会交给这个acitvity管理,然后再调用showDialog和removeDialog进行操作,这样可以满足你的需求 说来说去,还是不好直接给你代码吧 private void doLogin() { progressDialog = ProgressDialog.show(login.this, "请稍等...", "登录商务视频会议中...", true); new Thread() { public void run() { try { String jsonString = HttpInvoker.login(user.name, user.password); if(jsonString != null){ JSONObject json = new JSONObject(jsonString); if(json!=null && json.getInt("res")==1){ HttpInvoker.user = user; LocalAccessor.getInstance(login.this).updateUser(user); Intent i = new Intent(login.this, MainMeetings.class); startActivity(i); finish(); }else{ handler.post(new Runnable() { public void run() { new AlertDialog.Builder(login.this) .setMessage("登录失败,请检查账号信息!") .setPositiveButton("Okay", null) .show(); } }); } }else{ handler.post(new Runnable() { public void run() { new AlertDialog.Builder(login.this) .setMessage("登录失败,请检查账号信息!") .setPositiveButton("Okay", null) .show(); } }); } } catch (Exception e) { e.printStackTrace(); } progressDialog.dismiss(); } }.start(); } 楼上的您好,非常贴出代码,而且我照着您的,已经实现了一部分但是代码中如下报错handler.post(new Runnable() {这里是否还需要写上用什么类创建的吗? Handler myHandler = new Handler(){ public void handleMessage(Message msg) { switch(msg.what) { case 0: pd=ProgressDialog.show(ChildTab.this, 请稍等, 连接服务器中...,true,true); break; case 1: pd.dismiss(); startActivity(intent); break; case 2: break; } super.handleMessage(msg); } }; //另起线程连接服务器 private void threading(){ myHandler.sendEmptyMessage(0); new Thread() { public void run() { try { //连接服务器的方法 //验证通过后 intent = new Intent(--,--); myHandler.sendEmptyMessage(1); } catch (Exception e) { e.printStackTrace(); } } }.start(); } handler。。你没用过吗,就是 private Handler handler = new Handler();就Ok了 如何绘制“空心”的位图 解析xml字符串如何做? 如何获取状态栏的高度? 开发板_android进程调试 Android通信问题 请问学习android都需要安什么软件? 安卓开发页面跳转问题 请教一个小白问题 【提问】安卓 相机预览时,按电源键锁屏,再解锁,预览画面静止不动,怎么解决? android的应用中,定义一个没有被任何方法调用的方法,对APK有没什么影响 如何用content provider 获取 gmail中的附件 android listview 点击内容增加
也可以跳转到另外的activity,不过这个activity的模式要设置成dialog的模式,背景依旧要设置
progressDialog = ProgressDialog.show(login.this, "请稍等...", "登录商务视频会议中...", true);
new Thread() {
public void run() {
try {
String jsonString = HttpInvoker.login(user.name, user.password);
if(jsonString != null){
JSONObject json = new JSONObject(jsonString);
if(json!=null && json.getInt("res")==1){
HttpInvoker.user = user;
LocalAccessor.getInstance(login.this).updateUser(user);
Intent i = new Intent(login.this, MainMeetings.class);
startActivity(i);
finish();
}else{
handler.post(new Runnable() {
public void run() {
new AlertDialog.Builder(login.this)
.setMessage("登录失败,请检查账号信息!")
.setPositiveButton("Okay", null)
.show();
}
});
}
}else{
handler.post(new Runnable() {
public void run() {
new AlertDialog.Builder(login.this)
.setMessage("登录失败,请检查账号信息!")
.setPositiveButton("Okay", null)
.show();
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
progressDialog.dismiss();
}
}.start();
}
public void handleMessage(Message msg)
{
switch(msg.what)
{
case 0:
pd=ProgressDialog.show(ChildTab.this, 请稍等, 连接服务器中...,true,true);
break;
case 1:
pd.dismiss();
startActivity(intent);
break;
case 2:
break;
}
super.handleMessage(msg);
}
};
//另起线程连接服务器
private void threading(){
myHandler.sendEmptyMessage(0);
new Thread() {
public void run() {
try {
//连接服务器的方法
//验证通过后
intent = new Intent(--,--);
myHandler.sendEmptyMessage(1);
}
catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}