欢迎界面倒计时

欢迎页面倒计时:




实现方式有很多种:

1.开一个子线程    每休眠1s  发一个handler消息出去  更改倒计时

2.不用开启子线程,使用handler发一个消息,在handler发延迟消息,在handle中构成一个递归

...

n.安卓中有一个专门做倒计时的类  CountDownTimer
我用的是最后一种:

首先,在欢迎界面写一个类实现CountDownTimer,里边有几个方法需要重写下

        /* 定义一个倒计时的内部类 */
	class MyCount extends CountDownTimer {
		/**
		 * 
		 * @param millisInFuture
		 *            持续时长
		 * @param countDownInterval
		 *            间隔时长
		 */
		public MyCount(long millisInFuture, long countDownInterval) {
			super(millisInFuture, countDownInterval);
		}

		/**
		 * 在倒计时结束时调用
		 */
		@Override
		public void onFinish() {
			startActivity(new Intent(WelcomeActivity.this, MainActivity.class));
			finish();
		}

		/**
		 * 每间隔countDownInterval会调用一次
		 * 
		 * @param millisUntilFinished
		 *            已经过去了多长时间
		 */
		@Override
		public void onTick(long millisUntilFinished) {
			tv_skip.setText("跳过" + millisUntilFinished / 1000 + "s");
		}
	}
接着,启动这个倒计时

        MyCount myCount = new MyCount(10000, 1000);// 创建一个倒计时 总时长10秒 间隔1秒
        myCount.start();// 开启倒计时
最后 ,设置一个点击跳过

       tv_skip.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				myCount.cancel();// 点击之后跳过
				startActivity(new Intent(WelcomeActivity.this,
						MainActivity.class));
				finish();
			}
		});
最后说说我在写这个东西的时候遇到 的一个问题

问题是无论是倒计时让它自然跳过,还是点击跳过,发现跳转总会卡顿一会,看代码看了半天,没看出问题.

后来发现,在最后时间到的时候,点击返回键,也不能返回,并且在demo中也没有这样的问题,后来看了下

主界面的代码打的log日志,发现在主界面,直接联网获取json联网9次,主界面是通过radiobutton和fragment

,组合才能的,但是一上去默认就将五个fragment全部加载出来了,我认为主界面在打开瞬间加载内容太多导致的.

后来我将主界面的改成  需要显示fragment就从集合中取,如果集合中没有,再去创建,而不是一上来就创建所有

的,果然这个问题也迎刃而解(这个不是我写的,其他人写的)


点击这里下载源代码






















  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值