Android使用CountDownTimer实现倒计时功能

Android使用CountDownTimer实现倒计时功能_第1张图片


如果时间大于一小时,则显示时  分  秒  ,否则只显示 分 秒,如果不足一分钟,则只显示秒


Activity中的相关声明:

private static final long DOWN_TIMER_COUNT = 3671000;
private MyDownTimer mDownTimer;

onCreate()中

mTimerTv = (TextView)this.findViewById(R.id.timer_notice_tv);
mDownTimer = new MyDownTimer(DOWN_TIMER_COUNT, 1000);
mDownTimer.start();


具体实现的内部类:

	class MyDownTimer extends CountDownTimer
	{

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

		@Override
		public void onTick(long mill) 
		{
			long a = mill/1000/3600;
			long b = mill/1000%3600/60;
			long c = mill/1000%3600%60;
			if(mill/1000 >= 3600)
			{
				mTimerTv.setText(String.format(getString(R.string.sdk_timer_tv_a), a, b, c));
			}
			else if(mill/1000 >= 60)
			{
				mTimerTv.setText(String.format(getString(R.string.sdk_timer_tv_b), b, c));
			}
			else if(mill/1000 > 0)
			{
				mTimerTv.setText(String.format(getString(R.string.sdk_timer_tv_c), c));
			}
		}
		
		@Override
		public void onFinish() 
		{
			mTimerTv.setVisibility(View.GONE);
			showToast("begin to exam");
		}
	}



strings.xml

    距离考试\n%s时%s分%s秒
    距离考试\n%s分%s秒
    距离考试\n%s秒


你可能感兴趣的:(学习笔记)