Android实现倒计时跳转Activity

原创 2016年05月30日 21:02:14

现在的APP大部分打开时的欢迎界面都有广告,倒计时结束进入主界面,今天就自己试试实现了一下,主要用到有:

Intent意图,实现页面跳转

CountDownTimer倒计时器,不言而喻

Handler:消息处理类,将跳转意图发送到消息队列,可以设置延迟

完整代码如下:

package com.example.sharedpreferences;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;

public class Welcome extends Activity {
	private static final String MY_DB_FirstCheck = "my_db";
	private TextView countdown;

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		this.requestWindowFeature(Window.FEATURE_NO_TITLE);
		this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
				WindowManager.LayoutParams.FLAG_FULLSCREEN);
		setContentView(R.layout.welcome_layout);
		countdown = (TextView) findViewById(R.id.TView_countdown);

		final SharedPreferences sharedpreferences = getSharedPreferences(
				MY_DB_FirstCheck, Context.MODE_PRIVATE);

		/**
		 * Check if this is user's first visit;
		 */

		final boolean hasVisited = sharedpreferences.getBoolean("hasVisited",
				false);
		/**
		 * Default preference is 'false',if 'sharedpreferences' hasn't the
		 * String 'hasVisited'.
		 */

		countdowntimer = new MyCountdownTimer(3000, 1000);
		countdowntimer.start();
		handler.postDelayed(new Runnable() {

			@Override
			public void run() {
				if (!hasVisited) {
					/**
					 * Show Login Activity.
					 */
					Intent intent = new Intent();
					intent.setClass(Welcome.this, Login.class);
					startActivity(intent);
					/**
					 * Commit change: change state to 'true'.
					 */
					Editor edit = sharedpreferences.edit();
					edit.putBoolean("hasVisited", true);
					edit.commit();
				} else {
					Intent intent = new Intent();
					intent.setClass(Welcome.this, MainActivity.class);
					startActivity(intent);
				}
				finish();
			}
		}, 3000);
	}

	private Handler handler = new Handler();
	private MyCountdownTimer countdowntimer;

	/**
	 * Rewrite 'CountDownTimer' method.
	 * 
	 * @param millisInFuture
	 *            倒计时总数,单位为毫秒。
	 * @param countDownInterval
	 *            每隔多久调用onTick一次
	 * @author DaiZhenWei
	 * 
	 */
	protected class MyCountdownTimer extends CountDownTimer {

		public MyCountdownTimer(long millisInFuture, long countDownInterval) {
			super(millisInFuture, countDownInterval);
		}

		@Override
		public void onTick(long millisUntilFinished) {
			countdown.setText("Close(" + millisUntilFinished / 1000 + ")");
		}

		@Override
		public void onFinish() {
			countdown.setText("Turning");
		}

	}
}

注意:finish()必须写在Runnable()中,写在方法外围会造成欢迎界面闪退,之后直接进入主界面

今天就写到这里,明天准备把倒计时那里加上点击事件,实现跳过等待时间的过程,暂时还没有想法,明天继续!

版权声明:本文为博主原创文章,未经博主允许不得转载。

倒计时欢迎界面(更有条理)

广告倒计时欢迎界面的实现,倒计时欢迎界面 今天更新了一个App,打开这个App后弹出的页面是一个广告倒计时的页面,倒计时完毕后进入主界面。于是我闲着没事儿简易实现了一下这个功能,如图:  实...
  • K_Men
  • K_Men
  • 2016年09月06日 17:27
  • 3796

Android倒计时控件,Splash界面5秒自动跳转

现在很多app的首页都有一个倒计时控件,比如说3秒或者5秒自动跳转界面,或者点击控件直接跳过首先,自定义控件CircleProgressbar(参考网上资料) package com.zhoujian...

广告倒计时欢迎界面的实现

今天更新了一个App,打开这个App后弹出的页面是一个广告倒计时的页面,倒计时完毕后进入主界面。于是我闲着没事儿简易实现了一下这个功能,如图: 实现这个效果也很容易,在相应布局问下中添加TextVi...

Android实现计时与倒计时的几种方法

方法一 Timer与TimerTask(Java实现) public class timerTask extends Activity{ private int recLen = 11...

广告倒计时欢迎界面的实现,倒计时欢迎界面

今天更新了一个App,打开这个App后弹出的页面是一个广告倒计时的页面,倒计时完毕后进入主界面。于是我闲着没事儿简易实现了一下这个功能,如图: 实现这个效果也很容易,在相应布局问下中添加T...

Timer计时器实现倒计时跳转

/** * android中的计时器:----Timer * 1:timer+handler * 2: * */ public class M...

各种页面定时跳转(倒计时跳转)代码总结

下面对实现页面定时跳转(也称倒计时跳转)做一下总结,各种定时跳转代码记录如下:  (1)使用setTimeout函数实现定时跳转(如下代码要写在body区域内)  复制代码代码如下: ...

利用CountDownTimer实现倒计时,跳转界面

利用CountDownTimer实现倒计时。 举个栗子,引导页面最后一个界面要停留5s跳转到登录页面。...

页面定时跳转(倒计时跳转)代码总结

下面对实现页面定时跳转(也称倒计时跳转)做一下总结,各种定时跳转代码记录如下: (1)使用setTimeout函数实现定时跳转(如下代码要写在body区域内) script type="tex...

android 3秒钟自动关闭界面(以支付成功为例)

功能如标题所示,看图说话,代码简单,注释清晰,一目了然: android 3秒钟自动关闭界面(以支付成功为例),可选择自动关闭,也可以点击关闭。 /** * 支付成功页面 * @author A...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android实现倒计时跳转Activity
举报原因:
原因补充:

(最多只允许输入30个字)