您的位置:首页 > 移动开发 > Android开发

android实现加载的progressDialog之后跳转到程序主界面

2013-09-15 21:07 501 查看
转载:http://blog.csdn.net/mars2639/article/details/6615424#comments

因为考虑到有些程序加载时间相对较长,所以在启动主界面之前,实现一个加载的progressDialog对话框来延缓,相对来说可以提高用户体验度。

如果是直接进入主界面,即activity,界面因为加载时间长,一片漆黑,让用户老觉得这程序不行。

贴出源码:

方法一:
public class LoadingActivity extends Activity {
private ProgressDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//设置一个progressdialog的弹窗
dialog = ProgressDialog.show(this, null, "程序正在加载,请稍候...", true, false);
//启动一个处理loading业务的线程
new LoadingThread(this).start();
}

private class LoadingThread extends Thread {
private LoadingActivity activity;

public LoadingThread(LoadingActivity act) {
Log.d(">>>>>LoadingThread", "构造方法");
activity = act;
}

public void run() {
Log.d(">>>>>LoadingThread", "传递message");
//*********************
//	处理业务
//*********************

//发送消息
activity.mHandler.sendEmptyMessage(0);
}
}

//处理跳转到主Activity
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
Log.d(">>>>>Mhandler", "开始handleMessage");
Intent mIntent = new Intent();
mIntent.setClass(LoadingActivity.this, PalmHospital_main_Activity.class);
startActivity(mIntent);
LoadingActivity.this.finish();
Log.d(">>>>>Mhandler", "LoadActivity关闭");
if (dialog.isShowing())
dialog.dismiss();
}
};
}


方法二:相对来说要容易理解一点,贴图



public class LoadingActivity extends Activity {
private ProgressDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//设置一个progressdialog的弹窗
dialog = ProgressDialog.show(this, "加載中...", "正在搜尋。。。。,請稍後!");
Thread thread = new Thread(new Runnable() {
public void run() {
//do...

Message message = new Message();
message.what = 0;
mHandler.sendMessage(message);
}
});
thread.start();

}

//处理跳转到主Activity
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
Log.d(">>>>>Mhandler", "开始handleMessage");
Intent mIntent = new Intent();
mIntent.setClass(LoadingActivity.this, PalmHospital_main_Activity.class);
startActivity(mIntent);
LoadingActivity.this.finish();
Log.d(">>>>>Mhandler", "LoadActivity关闭");
if (msg.what == 0) {
dialog.dismiss();
}
}
};
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐