



public class SplashActivity extends AppCompatActivity {
private MyHandler myHandler = new MyHandler();
private TextView tv_time;
private MyCountDownTimer mc;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//設(shè)置Activity為全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
//去標(biāo)題狀態(tài)欄
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_splash);
tv_time = (TextView) findViewById(R.id.tv_time);
mc = new MyCountDownTimer(5000, 1000);
mc.start();
/**
* 使用handler的postDelayed延遲5秒執(zhí)行頁面跳轉(zhuǎn)
* (與CountDownTimer的millisInFuture一致)
*/
myHandler.postDelayed(new Runnable() {
@Override
public void run() {
startMainActivity();
}
},5000);
}
//將Handler聲明為靜態(tài)內(nèi)部類
private static class MyHandler extends Handler {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
}
}
//頁面跳轉(zhuǎn)的方法
private void startMainActivity(){
Intent intent = new Intent(this,Main3Activity.class);
startActivity(intent);
finish();//完成跳轉(zhuǎn)后銷毀閃屏頁(從棧內(nèi)移除)
}
class MyCountDownTimer extends CountDownTimer {
/**
* @param millisInFuture
*? ? ? 表示以毫秒為單位 倒計(jì)時(shí)的總數(shù)
*? ? ? 例如 millisInFuture=1000 表示1秒
* @param countDownInterval
*? ? ? 表示 間隔 多少微秒 調(diào)用一次 onTick 方法
*? ? ? 例如: countDownInterval =1000 ; 表示每1000毫秒調(diào)用一次onTick()
*/
public MyCountDownTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
public void onFinish() {
tv_time.setText("正在跳轉(zhuǎn)");
}
public void onTick(long millisUntilFinished) {
tv_time.setText("倒計(jì)時(shí)(" + millisUntilFinished / 1000 + ")");
Log.i("tag","倒計(jì)時(shí)"+millisUntilFinished / 1000);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
//閃屏頁銷毀時(shí)將消息對(duì)象從消息隊(duì)列移除并結(jié)束倒計(jì)時(shí)
myHandler.removeCallbacksAndMessages(null);
mc.cancel();
Log.i("tag","destory");
}
}