欢迎界面倒计时
来源:互联网 发布:查看被占用的端口 编辑:程序博客网 时间:2024/06/02 19:39
欢迎页面倒计时:
实现方式有很多种:
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);}/** * 在倒计时结束时调用 */@Overridepublic void onFinish() {startActivity(new Intent(WelcomeActivity.this, MainActivity.class));finish();}/** * 每间隔countDownInterval会调用一次 * * @param millisUntilFinished * 已经过去了多长时间 */@Overridepublic 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() {@Overridepublic void onClick(View v) {myCount.cancel();// 点击之后跳过startActivity(new Intent(WelcomeActivity.this,MainActivity.class));finish();}});最后说说我在写这个东西的时候遇到的一个问题
问题是无论是倒计时让它自然跳过,还是点击跳过,发现跳转总会卡顿一会,看代码看了半天,没看出问题.
后来发现,在最后时间到的时候,点击返回键,也不能返回,并且在demo中也没有这样的问题,后来看了下
主界面的代码打的log日志,发现在主界面,直接联网获取json联网9次,主界面是通过radiobutton和fragment
,组合才能的,但是一上去默认就将五个fragment全部加载出来了,我认为主界面在打开瞬间加载内容太多导致的.
后来我将主界面的改成 需要显示fragment就从集合中取,如果集合中没有,再去创建,而不是一上来就创建所有
的,果然这个问题也迎刃而解(这个不是我写的,其他人写的)
点击这里下载源代码
0 0
- 欢迎界面倒计时
- 广告倒计时欢迎界面的实现,倒计时欢迎界面
- 广告倒计时欢迎界面的实现
- 倒计时欢迎界面(更有条理)
- 欢迎界面跳转到程序主界面之倒计时,线程
- Android学习之路-----倒计时欢迎界面(更有条理)
- 6.倒计时界面
- 欢迎界面
- 欢迎界面
- 欢迎界面
- 欢迎界面
- 欢迎界面
- 欢迎界面
- 欢迎界面
- android欢迎界面+登录界面
- j2me 创建欢迎界面
- 欢迎界面的制作
- C#制作欢迎界面
- C语言中 fp = fopen(filename, “rb”); 那个rb是什么意思啊
- AC again
- LeetCode-338:Counting Bits
- Swift类型推测在可选调用中的小提示
- C#关键字—yield
- 欢迎界面倒计时
- 144. Binary Tree Preorder Traversal
- GPIO
- 欢迎使用CSDN-markdown编辑器
- LeetCode-难题集之Merge Two Sorted Lists
- Hdu1754 I Hate It 线段树、单点更新+区间最值
- Unity3d的Build后处理,和场景build前处理
- HUNNU11306 Parencedence!
- ASCII码表