直接上代码把
public class SplashActivity extends AppCompatActivity { private TextView tv; private Runnable mRunnable; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); tv = (TextView) findViewById(R.id.tv); MyCountDownTimer myCountDownTimer = new MyCountDownTimer(5000,1000); // 5000代表5秒后进入主页面 myCountDownTimer.start(); handler.postDelayed(mRunnable = new Runnable() { @Override public void run() { Intent intent = new Intent(SplashActivity.this,TwoActivity.class); startActivity(intent);
finish(); } },5000); tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(SplashActivity.this,TwoActivity.class); startActivity(intent); finish(); if(mRunnable!=null){ // 判断消息handler消息如果消息不是空就把handler消息remove 清除掉 这样防止点过 跳过 之后还会出现在次开启一个Activity handler.removeCallbacks(mRunnable); } } }); } private Handler handler = new Handler(); class MyCountDownTimer extends CountDownTimer{ public MyCountDownTimer(long millisInFuture, long countDownInterval){ super(millisInFuture,countDownInterval); } @Override public void onTick(long millisUntilFinished) { tv.setText("跳过("+millisUntilFinished /1000+")"); } @Override public void onFinish() { tv.setText("正在跳转"); } }
效果图