Android计时器chronometer-Kotlin版
实现计时器的开始、暂停、继续计时和重置功能
实现效果:
activity.xml代码:
<Chronometerandroid:id="@+id/chronometer"android:layout_width="match_parent"android:layout_height="312dp"android:gravity="bottom|center"android:textColor="#ff0000"android:textSize="40sp" />
<LinearLayoutandroid:layout_width="match_parent"android:layout_height="144dp"android:gravity="center"android:orientation="horizontal"><Buttonandroid:id="@+id/start"android:layout_width="60dp"android:layout_height="71dp"android:layout_gravity="center_horizontal"android:layout_marginRight="20dp"android:background="@drawable/bg_go"android:text="开始" /><Buttonandroid:id="@+id/stop"android:layout_width="60dp"android:layout_height="71dp"android:layout_gravity="center_horizontal"android:layout_marginRight="20dp"android:background="@drawable/bg_go"android:text="暂停" /><Buttonandroid:id="@+id/countinue"android:layout_width="60dp"android:layout_height="71dp"android:layout_gravity="center_horizontal"android:layout_marginRight="20dp"android:background="@drawable/bg_go"android:text="继续" /><Buttonandroid:id="@+id/bun4"android:layout_width="60dp"android:layout_height="71dp"android:layout_gravity="center_horizontal"android:background="@drawable/bg_go"android:text="重置" />
</LinearLayout>
chronometer.setBase设置计时点 chronometer.getBase返回计时时间 SystemClock.elapsedRealtime()用于某个事件经历的时间,如点击的时间间隔。 继续计时设计思路:当用户点击暂停的时候获取计时器从开始到当前暂停所用的时间(rangeTime初始为0)rangeTime=SystemClock.elapsedRealtime()-chronometer.getBase();当用户点继续计时的时候,重新设置计时点,获取当前点击的时间减去rangeTime即为要设置的时间,即chronometer.setBase(SystemClock.elapsedRealtime()-rangeTime); 参考:https://blog.csdn.net/lxz26192/article/details/29361625?spm=1001.2014.3001.5506
另外chronometer的监听事件:(我没有用,我就不写了)
chronometer?.setOnChronometerTickListener{}
kotlin代码:
记得绑定控件!!!!!!!
var rangeTime=0
//开始按钮:start?.setOnClickListener {chronometer.setBase(SystemClock.elapsedRealtime())chronometer.start()
}
//暂停按钮:stop?.setOnClickListener {
rangeTime= (SystemClock.elapsedRealtime()-chronometer.getBase()).toInt()
chronometer.stop()}//继续按钮:countinue?.setOnClickListener {chronometer.setBase(SystemClock.elapsedRealtime()-rangeTime)chronometer.start()
}
//重置按钮:bun4?.setOnClickListener {chronometer.setText("00:00")chronometer.setBase(SystemClock.elapsedRealtime())chronometer.stop()
}
Android计时器chronometer-Kotlin版相关推荐
- Android 计时器 Chronometer
Android 简单的计时器可以使用系统提供的方法Chronometer 下面是是实现的效果 Chronometer 的几个方法如下: 1 start(); 计时开始 2 stop(); 计时暂停 ...
- Android中Chronometer计时器的简单使用
场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改 ...
- Chronometer控件实现的Android计时器
本文为大家演示了如何使用Chronometer控件实现Android计时器的实例. 先贴上最终的实现效果图: Android计时器实现思路 使用Chronometer控件实现计器的操作.通过设置set ...
- android之计时器chronometer
效果图: activity代码: package cn.com.chenzheng_java; import java.util.Timer; import java.util.TimerTask; ...
- android 实现AOP 使用Aspectj Kotlin版
注意代码为Kotlin 什么是OOP.什么是AOP? OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分,而AOP则是针对业务处理过程中的切面进行 ...
- Android 蓝牙开发(扫描设备、绑定、解绑)Kotlin版
Kotlin版 蓝牙开发 (扫描设备.绑定.解绑) 前言 运行效果图 正文 ① 配置项目 ② 布局和样式 ③ 编码 1. 通知栏样式修改 2. 蓝牙设备列表适配器编写 3. 权限请求 4. 初始化蓝牙 ...
- 【Android】Chronometer计时器实现计时、停止、暂停、重置功能
[Android]Button+Chronometer计时器实现计时.停止.暂停.重置功能! 一.简介 Chronometer的用法很简单,它支持如下用法: getBase():返回时间. setBa ...
- android 计时器 三种,Android计时器的三种实现方式(Chronometer、Timer、handler)
本文实例为大家分享了Android计时器的三种方法,具体内容如下 目录: 1.借助Timer实现 2.调用handler.sendMessagedely(Message msg, long delay ...
- Android我自己的简易(秒表)计时器Chronometer
Android我自己的简易(秒表)计时器Chronometer 就是一个简单的计时器 布局文件:activity_main.xml <LinearLayout xmlns:android=&qu ...
- kotlin版仿哔哩哔哩动画Android客户端(哔哩哔哩 (゜-゜)つロ 干杯~-bilibili)
前言 kotlin 版由于几年前对于kotlin还不熟悉,许多地方不规范 该仿的项目为原项目的kotlin版,由于本人水平有限,有些kotlin写法不规范,后期会逐步完善,和原开源项目一样采用mvp+ ...
最新文章
- 数据库为什么使用B+树而不是B树
- ios--成员变量与属性的区别
- Chromium:安装depot_tools及获取Chromium源代码
- GDCM:gdcm::EncapsulatedDocument的测试程序
- 擎天出口退税软件_新版申报系统退税申报注意事项
- java因子的计算方法是_JAVA分解质因子
- django model对象修改_从0到1搭建个人博客-Django(三)
- GBDT迭代决策树的入门教程
- python 装饰器粗浅理解
- vuecli工程里面引入图片
- docker always_docker一键安装wordpress,真一键!
- 我是如何完美解决WIN10崩溃无法自动恢复启动问题的
- 霍夫曼树和霍夫曼编码原理
- 2017年苹果开发者账号申请——账号VISA卡支付流程
- 新华社-中国移动联手打造盘古搜索 2月22日上线
- 优秀员工评审表 模板
- 如何保护自己的颈椎?
- 使用Visual Studio编译Qt项目出现“E1696 无法打开Qt源文件”的解决方案,亲测可行
- mysql dbms是什么_数据库管理系统(DBMS)是用来做什么的?
- oracle中文问号乱码,Oracle 中文记录 及 乱码 判断 说明 .(转)
热门文章
- 新浪微博开放平台开发-android客户端(1)
- 共享打印机显示计算机权限,Win7共享打印机无法访问:您没有权限访问怎么办?
- JS日历控件 (兼容IE firefox) 可选择时间
- 电脑卡住了怎么保存excel_“表格保存不了怎么办“电脑卡死excel怎么保存
- 电脑卡住了怎么保存excel_电脑卡死了excel没保存怎么办啊
- Oracle数据库岗位,Oracle数据库岗位职责
- 微服务入门到入土(08)-消息队列RabbitMQ
- 用category重写NSMutableArray排序,倒序
- 最近刷爆微信抖音的夏日便捷小空调小程序源码
- TARA从3.4.1更新到3.5.7后项目运行出现app.js错误: TypeError: Cannot read property ‘isBatchingLegacy‘ of undefined