Android 實現兩個activity跳轉之間加入進度條
阿新 • • 發佈:2019-01-12
場景是:在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;
}
}};