Android开发中页面倒计时的实现
在Android开发中倒计时功能是非常有必要存在的,这可以提醒用户剩余的时间,下面爱站技术频道小编就为大家竭力介绍Android开发中页面倒计时的实现,希望能帮到大家。
最近我司产品提出了一个很常见的需求:App 在开屏页(Splash 界面) 需要加上一个 3s 倒计时按钮,可以选择看 3s 的广告,或者点击按钮跳过广告。

一、布局实现(使用 FrameLayout 悬浮在广告的右上角,显示倒计时的 TextView 的宽高尽量不要写死,要考虑字体很多的情况!!)
二、TextView 背景的 @drawable/bg_start_page_circle 用系统 shape 实现,不需要 UI 帮我们切图
三、在 onCreate() 里面找到显示倒计时的 TextView
private TextView mCountDownTextView;
/**
* Created by KeithXiaoY on 2017/06/07.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
mCountDownTextView = (TextView) findViewById(R.id.start_skip_count_down);
}
四、倒计时实现(使用 Android 系统原生的倒计时控件 CountDownTimer 实现)
class MyCountDownTimer extends CountDownTimer {
/**
* @param millisInFuture
* 表示以「 毫秒 」为单位倒计时的总数
* 例如 millisInFuture = 1000 表示1秒
*
* @param countDownInterval
* 表示 间隔 多少微秒 调用一次 onTick()
* 例如: countDownInterval = 1000 ; 表示每 1000 毫秒调用一次 onTick()
*
*/
public MyCountDownTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
public void onFinish() {
mCountDownTextView.setText("0s 跳过");
}
public void onTick(long millisUntilFinished) {
mCountDownTextView.setText( millisUntilFinished / 1000 + "s 跳过");
}
}
五、根据具体的业务逻辑完整实现
private TextView mCountDownTextView;
private MyCountDownTimer mCountDownTimer;
/**
* Created by KeithXiaoY on 2017/06/07.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
...
mCountDownTextView = (TextView) findViewById(R.id.start_skip_count_down);
//我司需求,在没有 Banner 广告的时候一秒跳过开屏页,有 Banner 广告的时候三秒跳过
if (PreferencesFactory.getCommonPref().getBoolean(CommonPreferences.PREFS_HAS_START_PAGE_BANNER, false)) {
mCountDownTextView.setText("3s 跳过");
//创建倒计时类
mCountDownTimer = new MyCountDownTimer(3000, 1000);
mCountDownTimer.start();
//这是一个 Handler 里面的逻辑是从 Splash 界面跳转到 Main 界面,这里的逻辑每个公司基本上一致
tmpHandler.postDelayed(runnable, 3000);
} else {
mCountDownTextView.setText("1s 跳过");
mCountDownTimer = new MyCountDownTimer(1000, 1000);
mCountDownTimer.start();
tmpHandler.postDelayed(runnable, 1000);
}
}
六、注意事项(一定记得在界面销毁的时候将 CountDownTimer 销毁)
@Override
protected void onDestroy() {
if (mCountDownTimer != null) {
mCountDownTimer.cancel();
}
super.onDestroy();
}
Android开发中页面倒计时的实现是爱站技术频道向为你带来的知识,相信这里还有很多你感兴趣的知识。
相关推荐
-
android开发之service的使用
小编今天来给大家说说看android开发之service的使用内容,对这方面比较感兴趣的小伙伴可以看看爱站技术频道小编所整理的资料,相信这篇文章一定不会让你失望的。
-
android之view组件添加边框的实例代码
本文主要介绍了关于android之view组件添加边框的实例代码内容,有需要的小伙伴可以随时来参考阅读下,接下来就让爱站技术频道小编带大家一探究竟吧!
-
android开发之如何加上滚动条
有朋友问android开发要怎么添加上滚动条,其实方法和简单,只需要在文本输入框或者文本显示框上面加上滚动条控件即可,对这方面感兴趣的话,不妨来跟爱站技术频道小编一起了解了解下。
-
android开机自动启动具体实现过程
本篇文章给大家详细介绍下android开机自动启动具体实现过程内容,有需要这方面资料的朋友可以随时来看一看,下面就让我们来一起学习一下,希望这篇文章对你日后有帮助。
-
android获取json数据的实例代码
小编今天带你们了解下android获取json数据的实例代码文章,很多朋友都会这方面的内容感兴趣,如果你正在学习,那这篇文章千万不要错过了,相信对你日后能提供到不小的帮助。
