本文实例为大家分享了android实现倒计时功能的具体代码,供大家参考,具体内容如下

【思路】:通过 timer 执行周期延时的任务,handler 中将计时信息更新,并在计时结束时结束 timer 的周期任务。

- 在布局文件中添加一个TextView和Button控件,并在onCreate方法中获得到TextView和Button的id;

xml布局代码:

android:id="@+id/button_start_timer"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:layout_gravity="center_vertical"

android:gravity="center"

android:text="开始"

android:textSize="12sp"

/>

android:id="@+id/textViewTime24"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_gravity="center_vertical"

android:layout_weight="2"

android:gravity="center"

android:text="24"

android:textColor="#33ff00"

android:textSize="60sp" />

java代码

package com.example.wlf.gamerecorder.gameon;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

import android.os.Handler;

import com.example.wlf.gamerecorder.R;

import java.util.Date;

import java.util.Timer;

import java.util.TimerTask;

public class SimpleGameonActivity extends AppCompatActivity {

private final static int COUNT = 1;

private final static int TOTAL_TIME_24 = 24;

private TextView textViewTime24;

Timer timer;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_simple_gameon);

textViewTime24=(TextView)findViewById(R.id.textViewTime24);//24秒倒计时

final Button button_start_timer = (Button)findViewById(R.id.button_start_timer);

button_start_timer.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

String str = button_start_timer.getText().toString();//获取按钮字符串

if(str.equals("开始")){ //切换按钮文字

button_start_timer.setText("暂停");

initView();

}

else{

button_start_timer.setText("开始");

timer.cancel();//终止线程

}

}

});

}

public void initView(){

//countDown = (TextView) findViewById(R.id.textViewTime24);

timer = new Timer();

/**

* 每一秒发送一次消息给handler更新UI

* schedule(TimerTask task,long delay,long period)

*/

timer.schedule(new TimerTask() {

@Override

public void run() {

handler.sendEmptyMessage(COUNT);

}

},1000);

}

private Handler handler = new Handler(){

int num = TOTAL_TIME_24;

public void handleMessage(android.os.Message msg) {

switch (msg.what) {

case COUNT:

textViewTime24.setText(String.valueOf(num));

if(num == 0)

timer.cancel();//0秒结束

num--;

break;

default:

break;

}

};

};

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

android倒计时功能,android实现倒计时功能(开始、暂停、0秒结束)相关推荐

  1. android倒计时功能,Android 实现列表倒计时功能

    Android 实现列表倒计时功能 发布时间:2020-08-21 21:47:11 来源:脚本之家 阅读:147 作者:Choi晨 单个计时器,然后遍历数据 刷新条目: 两种实现方式:1.Handl ...

  2. android自定义秒表,Android自定义Chronometer实现短信验证码秒表倒计时功能

    本文实例为大家分享了Chronometer实现倒计时功能,Android提供了实现按照秒计时的API,供大家参考,具体内容如下 一.自定义ChronometerView 继续自TextView 主要原 ...

  3. Android实现获取验证码的倒计时功能

    开发中经常会遇到获取短信验证码,获取验证码后需要等待1分钟倒计时,这段时间是不能再次发送短信请求的. 实现如下: CountDownTimerUtils.java package com.zhw.my ...

  4. android 实现自动拍照,Android自定义相机实现定时拍照功能

    这篇博客为大家介绍Android自定义相机,并且实现倒计时拍照功能. 首先自定义拍照会用到SurfaceView控件显示照片的预览区域,以下是布局文件: activity_main.xml andro ...

  5. Android简单实现计时和倒计时

    在安卓开发中,经常会使用计时和倒计时来开发,安卓为我们提供了非常便捷的控件 Chronometer,下面依次实现计时和倒计时: 计时功能: <?xml version="1.0&quo ...

  6. android列表倒计时,RecyclerView实现列表倒计时

    最近在做一个项目,需要用到列表倒计时功能,捣鼓半天终于弄了出来,在安卓中实现这个效果需要用到Countdowntimer,通过这个类的使用,不仅可以实现倒计时的效果,还可以完美解决在实现倒计时过程中的 ...

  7. Android 开源项目分类汇总 APP功能汇总

    Android 开源项目第一篇--个性化控件(View)篇   包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.Progr ...

  8. android如何暂停倒计时,Android计时器和倒计时的实现(含开始,暂停,和复位)...

    倒计时和计时在比赛中经常用到,由于涉及到子线程和主线程的通信问题,同学们在制作的时候总有点畏手畏脚的,今天会有两个神器出现,帮助大家攻克这两道难关! 神器一:chronometer --andrdoi ...

  9. android 重置倒计时,Android计时器跟倒计时的实现(含开始,暂停,和复位)

    倒计时和计时在比赛中经常用到,由于涉及到子线程和主线程的通信问题,同学们在制作的时候总有点畏手畏脚的,今天会有两个神器出现,帮助大家攻克这两道难关! 神器一:chronometer --andrdoi ...

最新文章

  1. Chrome控制台使用详解
  2. 【译】Java中的对象序列化
  3. Shell 脚本修改 Mac IP地址
  4. 代谢组学的相关分析数据库,MetaboAnalyst 5.0 使用指南
  5. java黄金连分数_蓝桥杯 | Java B组省赛真题练习——黄金连分数-Go语言中文社区...
  6. 认识和选购极致画质的显示器
  7. c语言深度解剖 pdf,c语言深度解剖(解密).pdf.pdf
  8. 概念性jQuery内容编辑器
  9. CVPR2018 Tutorial 之 Visual Recognition and Beyond
  10. HandyJSON:Swift语言JSON转Model工具库
  11. 【★原创★】夜晚,不要让电白白流失!
  12. 正则化regularization
  13. 大数据分析的特点都有哪些
  14. Oracle 相关知识点结构图
  15. CCF推荐期刊/会议历年发表论文数据库:CCF Rec-Paper DB
  16. 软件测试python版本的决策表法解决preDate返回前一天日期
  17. Ubuntu16.04中文输入法安装初战
  18. 猎头Fiona总结的加入淘宝网的十个理由
  19. 折线迷你图怎么设置_Excel如何制作小微型的迷你图?
  20. pyqt5+pyinstaller图标ico制作说明

热门文章

  1. unity字符串换行符_Unity中Text中首行缩进两个字符和换行的代码
  2. java 解压缩 工具类_Java实现的zip压缩及解压缩工具类示例
  3. android获取导航栏宽高,Android获取屏幕的宽高度、状态栏、标题栏、导航栏、编辑区域高度...
  4. 低代码可视化报表开源工具,只要在线拖拽就能做出复杂数据报表
  5. Spinnaker:云原生多云环境持续部署的未来这样玩!
  6. 退休是不可能的,90岁还要继续干!
  7. Java 中商业运算必备的精确运算类:BigDecimal
  8. java计算5 5_Java基础学习笔记 -- 5(运算符)
  9. php javascript wav波形绘制,PHP分析.wav文件并绘制png格式的波形图
  10. admi后台 vue_vue-admin-webapp后台管理系统