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

android 如何实现两个activity跳转之间加入进度条

2017-03-28 22:50 423 查看

这个是参考了别人的写法之后总结出来的,以此方便自己以及需要的人来查看

只是原来的写的主人的网址找不到了,嘤嘤嘤~

场景是:在activity1点击了按钮之后跳转到activity2,但是在点击之后,有大概六七秒的时间还停留在activity1,这样给用户的体验不是很友好。

查了很多的资料,最终选择这个博主写的,我来简洁明了的综合起来【此博主的博文好难查找出来,我已经找不到原来的网址了。】

在activity1里面:

先定义

private static ProgressDialog dialog;


然后我是在点击按钮的监听事件里面写了:

//选择背景按钮按下
bgBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

Handler handler=new Handler();
//在run里面写了跳转activity
Runnable runnable=new Runnable() {
@Override
public void run() {
Intent intent = new Intent();
intent.setClass(MainActivity2.this, BgMapActivity.class);
startActivityForResult(intent, 3);

}
};
handler.post(runnable);

dialog=ProgressDialog.show(MainActivity2.this,"请稍等","正在跳转",true,true);

}
});


//在onCreate方法外面定义静态方法
public static void closeProgressDialog() {
dialog.dismiss();
}


在activity2里面

先定义

private static final int EVENT_TIME_TO_CHANGE_IMAGE = 100;


然后,这里写的是,当activity2加载出来之后,要把定义好的EVENT_TIME_TO_CHANGE_IMAGE值传回activity1中,进行关闭进度条

@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if(hasFocus){
Message message = mHandler.obtainMessage(EVENT_TIME_TO_CHANGE_IMAGE);
mHandler.sendMessage(message);
}

}

private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
switch(msg.what){
case EVENT_TIME_TO_CHANGE_IMAGE:
MainActivity2.closeProgressDialog();
break;
}
}};


over,这样就能实现啦~

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 进度条