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
0
投稿
猜你喜欢
- 本文实例为大家分享了C#实现温度转换功能的具体代码,供大家参考,具体内容如下界面图代码using System;using System.C
- 最近因为公司项目需要用到WinForm的DecExpress控件,在这里把一些使用方法总结一下。 DevExpress中有一个专门
- 前言:干了这几个项目,也做过几次文件上传下载,要么是copy项目以前的代码,要么是百度的,虽然做出来了,但学习一下原理弄透彻还是很有必要的。
- 开发前准备1、密钥工具在线工具地址:https://miniu.alipay.com/keytool/create无需下载,直接在线生成你的
- android跑马灯出现重复跳动、不滚动问题,本文给出解决方案,供大家参考。原因:页面有View被重新绘制了、焦点被抢占例如:1、TextV
- 一、问题描述在接受 mq 消息的时候,需要做一个重试次数限制,如果超过 maxNum 就发邮件告警,不再重试。 所以我需
- 如题,有时候看见一个布局写上几百行看上去会非常吃力麻烦,这时候抽取控件样式很有必要了, Android Studio提供了抽取Style样式
- Java关于Map的四种取值方式map的主要作用是什么?可以通过创建一个map的实现类 来存放 数据 值 和值的描述 也可以通过描述去取得数
- Exception e中e的getMessage()和toString()方法的区别:示例代码1:public class TestInfo
- 当我们在windows系统下安装完jdk时,测试案例HelloWorld;运行java命令时报错:找不到或无法加载主类解决方法:1.首先检查
- 单纯使用GridView通用的两种给GridView 添加分割线的方法;http://stackoverflow.com/questions
- 本文实例讲述了C#编程之事务用法。分享给大家供大家参考,具体如下:ado.net2.0的SqlTransaction使用方法/////ado
- 发现问题在一个数据列表中我用了Linq GroupBy 和OrderBy。 排序在本机正常使用,发到测试后排序死活不对,总以为是程序问题。于
- springboot2启动时执行,初始化(或定时任务)servletContext需求:springboot 启动后自动执行,初始化数据,并
- SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案。标准的MVC设计模式,将整个系统划分为显示层、Co
- 什么是Dozer?Dozer是一种Java Bean到Java Bean的映射器,递归地将数据从一个对象复制到另一个对象,它是一个强大的,通
- 本文实例为大家分享了Unity使用多态制作计算器,供大家参考,具体内容如下Unity中需要的组件在Unity中创建两个InputField,
- 引言最近,各大平台都新增了评论区显示发言者ip归属地的功能,例如哔哩哔哩,微博,知乎等等。Java 中是如何获取 IP&
- selectMaps和selectList的区别selectList查询部分字段,会返回所有的,没查询的值为nullselectMaps 只
- Java类之间的关系图在Java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们