Android入门之计时器Chronometer的使用教程
作者:TGITCIC 发布时间:2023-09-06 10:56:43
标签:Android,计时器,Chronometer
介绍
非常简单的一个计时器,没有太多原理,我们直接上代码。
先看课程目标
课程目标
就是一个简单的计时器,我们直接上使用示例吧
界面里有一个计时器,4个按钮。
开始计时,上面这个计时器就开始读秒;
停止计时,计时器会暂停计时;
重置,计时器会归零;
变格式,计时器会变成:Time:%s"的格式显示;
界面端代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<Chronometer
android:id="@+id/chronometer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="#ff0000"
android:textSize="60dip" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dip"
android:orientation="horizontal">
<Button
android:id="@+id/btnStart"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="开始记时" />
<Button
android:id="@+id/btnStop"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="停止记时" />
<Button
android:id="@+id/btnReset"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="重置" />
<Button
android:id="@+id/btnFormat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="变格式" />
</LinearLayout>
</LinearLayout>
后端交互代码
package org.mk.android.demo.demochrometer;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.SystemClock;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;
public class MainActivity extends AppCompatActivity {
private Chronometer chronometer;
private Button btnStart,btnStop,btnReset,btnFormat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnFormat=(Button) findViewById(R.id.btnFormat);
btnStart=(Button) findViewById(R.id.btnStart);
btnStop=(Button) findViewById(R.id.btnStop);
btnReset=(Button) findViewById(R.id.btnReset);
btnStart.setOnClickListener(new OnClickListener());
btnStop.setOnClickListener(new OnClickListener());
btnReset.setOnClickListener(new OnClickListener());
btnFormat.setOnClickListener(new OnClickListener());
chronometer=(Chronometer) findViewById(R.id.chronometer);
}
private class OnClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.btnStart:
chronometer.start();// 开始计时
break;
case R.id.btnStop:
chronometer.stop();// 停止计时
break;
case R.id.btnReset:
chronometer.setBase(SystemClock.elapsedRealtime());// 复位
break;
case R.id.btnFormat:
Log.i("app","into formatter");
chronometer.setFormat("Time:%s");// 更改时间显示格式
break;
}
}
}
}
运行效果
以上是按下了【变格式】按钮后显示的变化,自己去动动手试一下呗。
来源:https://blog.csdn.net/lifetragedy/article/details/127790800


猜你喜欢
- 前言身在孤岛有很多无奈,比如说程序员属于比较偏门的职业。尤其是早些年,在行业里跳过几次槽后,可能你就已经认识整个圈子的人了。然后,再跳槽很可
- 本文实例为大家分享了使用ScrollRect制作翻页的具体代码,供大家参考,具体内容如下1.标准的层级结构 ScrollRect->V
- 遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。它能解决很多问题,
- 原生系统Android8.1上,WiFi上出现感叹号,此时WiFi可正常访问。原因这是Android 5.0引入的网络评估机制:就是当你连上
- 说明一下性能方面 还可以接受 循环1000次普通Switch是用了0.001秒 ,扩展函数为0.002秒 , 如果是大项目在有负
- 一、问题描述有时候,我们会遇到在遍历List集合的过程中删除数据的情况。看着自己写的代码,感觉完全没有问题,但就是达不到预期的效果,这是为什
- 最近项目中的活动面板要做来回滚动卡牌预览效果,感觉自己来写的话,也能写,但是可能会比较耗时,看到Github上有开源的项目,于是就借用了,G
- 直接看代码,注释都写清楚了public class MainActivity extends Activity { private
- 记录窗口上次关闭的位置和大小namespace PDSafe.Base{ public class Se
- 规则1(无继承情况下):对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、
- 一、实现原理 Mapper接口开发方法只需要程序员编写M
- 限流背景在早期的计算机领域,限流技术(time limiting)被用做控制网络接口收发通信数据的速率。可以用来优化性能,减少延迟和提高带宽
- 最近一段时间 某台服务器上的一个应用总是隔一段时间就自己挂掉 用top看了看 从重新部署应用开始没有多长时间CPU占用上升得很快排查步骤1.
- 1、通过注解ModelAttribute直接映射表单中的参数到POJO。在from中的action写提交的路径,在input的name写参数
- public class FileAccess{//储存所有文件夹名private ArrayList dirs;public FileAc
- 在做业务开发时,遇到了一个事务不起作用的问题。大概流程是这样的,方法内部的定时任务调用了一个带事务的方法,失败后事务没有回滚。查阅资料后,问
- 本文实例讲述了Java中的异常和处理机制。分享给大家供大家参考,具体如下:简介程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期
- eclipse导入appcompat项目报错解决办法我们在eclipse导入开源项目后,经常会发现找不到类似Theme.AppCompat.
- 开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了。但是,很多时候我们本想开发一款只需要一个
- 在SSH项目中,有时需要由一个Action跳转到另一个Action。有两种方式可以实现Action之间的跳转,一种是chain,另一种是re