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()中,写在方法外围会造成欢迎界面闪退,之后直接进入主界面

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

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

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

方法一 Timer与TimerTask(Java实现) public class timerTask extends Activity{ private int recLen = 11...
  • lanxingfeifei
  • lanxingfeifei
  • 2016年06月27日 17:17
  • 51714

Android 三秒跳转另一个页面

1.用handler进行操作private Handler handler = new Handler(){ @Override public void handleM...
  • WAngyouWei_0
  • WAngyouWei_0
  • 2017年07月09日 20:27
  • 298

App启动页倒计时功能

  • 2017年04月23日 18:28
  • 17.03MB
  • 下载

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

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

Android实现倒计时之使用CountDownTimer

在开发中会经常用到倒计时这个功能,包括给手机发送验证码等等,之前我的做法都是使用Handler + Timer + TimerTask来实现,现在发现了这个类,果断抛弃之前的做法,相信还是有很多人和我...
  • qq_20785431
  • qq_20785431
  • 2016年06月03日 00:12
  • 17013

自定义控件之仿启动页右上角的圆形跳过按钮倒计时功能

说明下:此文有用到严振杰大神的部分代码,加上自己对其代码的探究。最后来写的这边博文。这篇博文初学自定义控件的工程师可以看看。里面讲解的很详细,也算是自己对自定义控件的一个总结探索吧。如有讲解不对地方,...
  • qq_17387361
  • qq_17387361
  • 2016年12月13日 15:32
  • 2373

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

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

Android启动页面的正确打开方式

现在APP的启动页面(Splash Screen)好多都是等待3秒,好一点的还可以跳过,但是有的跳过也是假的按钮。当然像一些大厂的APP,像网易新闻等启动页面都是广告,人家要收广告费的。但是,对于一些...
  • shiguiyou
  • shiguiyou
  • 2015年12月10日 22:31
  • 5950

Android app启动页广告

一款app刚出世的时候是没有广告的,流畅的速度和粘性的设计,让这款app使用的人越来越多,这个时候,广告就诞生了,app中加入广告的位置有很多,最常见的就是启动页的广告,首页的banner的轮询广告,...
  • u010918416
  • u010918416
  • 2016年10月25日 17:50
  • 10773

Android 启动页,倒计时 view

Android 启动页,倒计时 view
  • u014608640
  • u014608640
  • 2016年09月21日 14:19
  • 1081
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android实现倒计时跳转Activity
举报原因:
原因补充:

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