1.android 倒计时器 设计
有三种实现方式:
第一种:通过Timer与TimerTask结合的方式进行实现
第二种:通过Handler与Message方式进行实现
第三种:通过CountdownTimer进行实现
示例
第一种:
timer.schedule(task, 1000, 1000); // timeTask ,一秒执行一次,
TimerTask task = new TimerTask() {
@Override
public void run() {
}
}
第二种:
handler.sendMessageDelayed(message, 1000); //1秒后发送消息
final Handler handler = new Handler(){
public void handleMessage(Message msg){ // handle message
switch (msg.what) {
case 1:
recLen--;
if(recLen > 0){ //如果倒计时没到
Message message = handler.obtainMessage(1);
handler.sendMessageDelayed(message, 1000); // 1秒后发送消息
}
}
super.handleMessage(msg);
}
};
第三种:
new CountdownTimer(30000, 1000) { //30秒倒计时,没秒执行一次
public void onTick(long millisUntilFinished) { //每秒执行一次进该方法
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() { //倒计时结束。
mTextField.setText("done!");
}
}.start();
2.android 倒计时器 设计
有三种实现方式:第一种:通过Timer与TimerTask结合的方式进行实现第二种:通过Handler与Message方式进行实现第三种:通过CountdownTimer进行实现示例第一种: timer.schedule(task, 1000, 1000); // timeTask ,一秒执行一次,TimerTask task = new TimerTask() { @Override public void run() { }}第二种:handler.sendMessageDelayed(message, 1000); //1秒后发送消息final Handler handler = new Handler(){ public void handleMessage(Message msg){ // handle message switch (msg.what) { case 1: recLen--; if(recLen > 0){ //如果倒计时没到 Message message = handler.obtainMessage(1); handler.sendMessageDelayed(message, 1000); // 1秒后发送消息 } } super.handleMessage(msg); } }; 第三种:new CountdownTimer(30000, 1000) { //30秒倒计时,没秒执行一次 public void onTick(long millisUntilFinished) { //每秒执行一次进该方法 mTextField.setText("seconds remaining: " + millisUntilFinished / 1000); } public void onFinish() { //倒计时结束。
mTextField.setText("done!"); } }.start();。
3.android studio怎么编写计时器
类似iOS中的NSTimer 定时器功能,开关控制随机几秒钟执行指定功能;平台:Android开发环境:android Studio代码实现:一. 创建Handler对象和Runnable对象 [java] view plain copy print?Handler handler = new Handler(); Runnable runnable = new Runnable() { @Override public void run() { if (mPageOpen){ if (interstitialAd.isLoaded()){ //示例-谷歌插页广告 interstitialAd.show(); }else { AdRequest adRequest = new AdRequest.Builder().build(); interstitialAd.loadAd(adRequest); } int random = (int)(Math.random() * 10 +20)*1000; //随机时间循环执行 handler.postDelayed(this, random); } } }; 二. 开关控制 [java] view plain copy print?Switch mSwith = (Switch) findViewById(R.id.switchPage); mSwith.(new CompoundButton.() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { mPageOpen = true; } else { mPageOpen = false; } handler.postDelayed(runnable, 15000); //开关控制执行 } }); 三. 移除定时器[java] view plain copy print?handler.removeCallbacks(runnable);。
4.android 实现同时多个倒计时效果怎么做
安卓实现同时多个倒计时效果的步骤:
1. 我们首先需要在输入框中输入一个秒数,比如:12,然后获取输入框中的值,显示在一个TextView中;
2. 点击“开始倒计时”按钮,每隔一秒钟,秒数减1,然后显示在TextView中;
3. 点击“停止倒计时”按钮,计时器停止运行,当再次点击“开始倒计时”按钮,计时器继续运行。
平时用的每个商品都应该有两个属性值,这里叫它deadLine和isOverdue吧,表示商品的到期时间和是否到期,那么倒计时可以考虑这么实现:设置一个主计时器,每隔1秒发出消息告诉GridView现在的时间,GridView的Item获得这个时间之后就和deadLine比较,如果已经到deadline了,就把数据源中的这项标记成已到期(修改isOverdue的值为true);没到deadline,就计算还差多少时间,显示到GridView的Item里。
5.android 用 service 和 CountDownTimer 实现一个倒计时器的功能
在平时我们编程的时候,经常会用到倒计时这个功能,很多人不知道Android已经帮封装好了一个类,往往都自己写。现在发现了这个类,大家共享一下:
在一个TextView不断显示剩下的时间,代码如下:
[java] view plaincopy
private TextView vertifyView;
private CountDownTimer timer = new CountDownTimer(10000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
vertifyView.setText((millisUntilFinished / 1000) + "秒后可重发");
}
@Override
public void onFinish() {
vertifyView.setEnabled(true);
vertifyView.setText("获取验证码");
}
};
调用的时候很简单:timer.start();
最后说明一下:CountDownTimer timer = new CountDownTimer(10000, 1000)中,第一个参数表示总时间,第二个参数表示间隔时间。意思就是每隔一秒会回调一次方法onTick,然后10秒之后会回调onFinish方法。
转载请注明出处育才学习网 » android倒计时器怎么写