android开发 时间倒计时的启动页,App启动页倒计时功能
示例代码采用 RxJava + RxLifecycle + Data-Binding 模式编写
示例图:
话不多说,实现方式如下:
1.导入依赖库
① RxJava: Reactive Extensions for the JVM
compile 'io.reactivex:rxjava:1.2.9'
compile 'io.reactivex:rxandroid:1.2.1'
② RxLifecycle
compile 'com.trello:rxlifecycle:1.0'
compile 'com.trello:rxlifecycle-components:1.0'
③ Data-Binding
dataBinding {
enabled = true
}
2.代码编写(关键代码)
① 自定义接口View
public interface BaseView {
LifecycleTransformer bindToLife();
}
② 创建一个Helper类,用来进行倒计时操作
public final class RxHelper {
private RxHelper() {
throw new AssertionError();
}
/**
* 倒计时
*/
public static Observable countdown(int time) {
if (time < 0) {
time = 0;
}
final int countTime = time;
return Observable.interval(0, 1, TimeUnit.SECONDS)
.map(new Func1() {
@Override
public Integer call(Long increaseTime) {
return countTime - increaseTime.intValue();
}
})
.take(countTime + 1)
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread());
}
}
③ 自定义方法:实现异步加载
private void init() {
RxHelper.countdown(5)
.compose(this.bindToLife())
.subscribe(new Subscriber() {
@Override
public void onCompleted() {
doSkip();
}
@Override
public void onError(Throwable e) {
doSkip();
}
@Override
public void onNext(Integer integer) {
mBinding.sbSkip.setText("跳过 " + integer);
}
});
}
④ 自定义方法:实现跳转
private void doSkip() {
if (!mIsSkip) {
mIsSkip = true;
finish();
startActivity(new Intent(SplashActivity.this, MainActivity.class));
overridePendingTransition(R.anim.hold, R.anim.zoom_in_exit);
}
}
⑤ 设置主题样式为全屏
@color/colorPrimary
@color/colorPrimaryDark
@color/colorAccent
true
关注我的新浪微博,请认准黄V认证,获取最新安卓开发资讯。
关注科技评论家,领略科技、创新、教育以及最大化人类智慧与想象力!
App启动页设计实例与技巧
App启动页,也称闪屏页,最初是为缓解用户等待Web/iOS/Android App数据加载的焦虑情绪而出现,后被设计师巧妙用于品牌文化展示,服务特色介绍以及功能界面熟悉等平台进行设计,被赋予了更加丰 ...
用代码获取APP启动页图片
用代码获取APP启动页图片 源码 - swift // // AppleSystemService.swift // Swift-Animations // // Created by YouXian ...
React-Native App启动页制作(安卓端)
android开发 时间倒计时的启动页,App启动页倒计时功能相关推荐
- Android开发:如何隐藏自己的app应用
本文主要介绍如何通过修改AndroidManifest.xml清单文件来达到隐藏自身应用的目的,不是隐藏第三方应用,为了不浪费大家时间,特此说明. 转载请注明作者xiong_it和链接:http:// ...
- android隐藏app应用程序,Android开发:怎样隐藏自己的app应用
本文主要介绍怎样通过改动AndroidManifest.xml清单文件来达到隐藏自身应用的目的,不是隐藏第三方应用.为了不浪费大家时间.特此说明. 第一种 改动Activity标签下的节点下的cate ...
- android 开发 时间选择器TimePicker的使用
android 开发 时间选择器TimePicker的使用 android系统自带时间控件: DatePicker 日期显示控件 DatePickerDialog 日期对话框控件 TimePicke ...
- 动态头像 Android 实现,Android开发中实现一个头像滑动变大变小功能
Android开发中实现一个头像滑动变大变小功能 发布时间:2020-11-21 16:36:20 来源:亿速云 阅读:74 作者:Leah 这篇文章给大家介绍Android开发中实现一个头像滑动变大 ...
- Android开发系列7——icon图标和开机启动页
前言 Android开发App过程中,需要一个独特吸引眼球的应用icon,以及标新的Launch页面用于简明的介绍.为了适配各种 手机的尺寸和手机屏幕分辩率,需要同一张图片制作多种尺寸用于兼容各种 ...
- android应用白屏闪退,解决 APP启动白屏黑屏问题
闪屏页简介 闪屏页,我们手机上的每个 APP 几乎都有自己的闪屏页,就是在真正进入程序前,会有一个页面停顿几秒钟.其实我们完全可以充分利用好这几秒钟做很多的程序初始化了启动. 为什么我的 APP 启动 ...
- Android开发笔记(十八)书籍翻页动画PageAnimation
前面几节的动画都算简单,本文就介绍一个复杂点的动画--书籍翻页动画.Android有自带的翻页动画ViewPager,不过ViewPager只实现了平移效果.即便使用补间组合动画或者属性动画,也只是把 ...
- android 加载动画素材,八种APP启动界面的Loading进度条设计动效方案
在移动端APP应用中,从用户点击图标那一瞬间到用户进入主界面这段过程,同样也决定用户对该APP应用的第一印象,如何让用户产生好感并快速熟悉应用是这一阶段重点考虑的问题.这一过程是否给用户留下好的第一饮 ...
- 【Android开发那点破事】打开APP加载页面实现
今天的破事呢就说说APP加载页面的实现.一般情况下,当APP打开的时候,我们需要做很多事情,比如检查网络连接啊,初始化一些配置啊等等.我们可以让这些事情在APP完全打开之前做完,然后呢在打开的过程中显 ...
最新文章
- VMware workstation中rhel安装VMware tools失败
- 搭建linux下eclipse php完美搭建开发php,搭建linux上的Eclipse+PHP编程环境
- 数据增删改查之三层架构(理解三层续)
- fastadmin弹框提示不起作用 confirm
- 【编程】二叉树的先序、中序、后序遍历
- 熬夜肝完这份Framework笔记,已拿到offer
- 【JAVA基础篇】IO流
- 怎样高效实现增长?这里有50个经典的增长黑客策略
- Web前端和后端的区别是什么?如何区分?
- 别说你不知IE9正式版浏览器小技巧9则
- 双向重定向指令 tee
- PyTorch:tensor-数据处理
- 重装opencv3.2.0后catkin_make遇到问题-解决方案
- 【火灾检测】基于matlab图像特征火灾检测【含Matlab源码 897期】
- perl语言hello world程序
- g++编译时对'xxxx'未定义的引用问题(undefined reference to)
- ***WIN2003 PHP服务器的另类技术
- Linux系统常见的发行版本以及区别!
- Python PDF转JPG
- Web 前端开发技术 ——html
热门文章
- 计算机丢失wpcap.dll会影响什么,win7系统wpcap.dll丢失的三种修复方法
- 彩色版的C语言,让文字更漂亮
- python爬虫正则匹配td标签中的内容,以及一些常用的正则
- Linux(Centos7)安装oracle12c
- 如何使用Python实现图像融合及加法运算
- Linux入门:内存测试工具(Memtest86+)
- Morgan Stanley
- Netty,Nginx严重落后;网络IO框架最新性能排名
- 忘记Grafana 密码怎么办 教你2种Grafana重置admin密码方法详细步骤
- 带恒温冷藏功能的便携式自动采样器——可用于毒情监测