Android计时器控件Chronometer应用实例
作者:极客Dragon 发布时间:2023-03-01 09:46:59
标签:Android,计时器,Chronometer
显示一个计时器开始计时,当计时器到达15s的时候,停止计时。此时页面多一个重置按钮,可再次进行计时。
页面布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:background="@drawable/bg" >
<Chronometer
android:id="@+id/chronometer"
android:layout_marginTop="8dp"
android:layout_marginLeft="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/restart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="重置"
android:visibility="gone" />
</LinearLayout>
事件响应
package com.example.chronometerdemo;
import android.os.Bundle;
import android.os.SystemClock;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.Chronometer.OnChronometerTickListener;
public class MainActivity extends Activity
{
Chronometer time=null;
Button restart=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
time=(Chronometer) findViewById(R.id.chronometer);
restart=(Button) findViewById(R.id.restart);
//设置起始时间和时间格式,然后开始计时
time.setBase(SystemClock.elapsedRealtime());
time.setFormat("已用时间:%s");
time.start();
//给计时器添加 * ,当计时到达15s时,要重置
time.setOnChronometerTickListener(new OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer arg0)
{
if(SystemClock.elapsedRealtime()-arg0.getBase()>=15000)
{
arg0.stop();
restart.setVisibility(View.VISIBLE);
}
}
});
//给按钮添加重置的效果
restart.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0)
{
time.setBase(SystemClock.elapsedRealtime());
time.start();
restart.setVisibility(View.GONE);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
运行效果
来源:http://blog.csdn.net/qq_36631076/article/details/78123338


猜你喜欢
- 本文实例为大家分享了Android自定义控件实现时间轴的具体代码,供大家参考,具体内容如下由于项目中有需求,就简单的封装一个,先记录一下,有
- 1. 选择恰当的日志级别常见的日志级别有5种,分别是error、warn、info、debug、trace。日常开发中,我们需要选择恰当的日
- JdbcTemplate概述它是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装。spring框架为我们提供了
- 一 前言学习微服务要从基础的架构学起,首先你要有个微服务的概念才能学习对吧!!如果你都不知道啥是微服务,就一头扎进去学习,你自己也觉得自己也
- SpringAop @Aspect织入不生效,不执行前置增强织入@Before想写一个AOP,主要有2个用意第一个用意是做后端的防表单重复提
- AndroidStudio 的SVN 安装和使用方法与我以前用的其他IDE 都有很大差别,感觉特麻烦,网上相关资料很少,貌似现在 Git 比
- 引言 在一些项目中或是一些特殊的业务场景中,需要用到显示系统的当前时间,以及一些
- Java 多线程方法详解startstart方法 启动线程 在start方法中调用start0方法,而start0是一个
- 相信你也遇到过这种场景,判断二级目录属于哪个一级目录,一个员工属于哪个上级员工领导…当Mybatis遇上目录树,有哪些解决方法?一般来说,有
- 网上汗牛充栋的文章都是介绍Android远程服务的,一个个将Binder机制、AIDL讲得头头是道,然而没有几个人能够给出清晰的范例说明如何
- 记录一下在项目中用纯 YML(application.yml 或者 application.properties)文件、Java 代码配置
- /// <summary>/// 人民币大写/// </summary>/// <param name=&qu
- 现阶段的问题现在是云原生和容器化时代,.NET Core对于云原生来说有非常好的兼容和亲和性,dotnet社区以及微软为.NET Core提
- 本文实例为大家分享了Unity Shader实现描边OutLine效果的具体代码,供大家参考,具体内容如下Shader实现描边流程大致为:对
- 本文实例讲述了Windows窗体的.Net框架绘图技术实现方法,非常实用,具体内容如下:一般来说,当编写一个典型的Windows 窗体程序时
- 由于Android课程项目需要,特地查阅了okHttp的使用,发现网上找的大多和自己的需求不一样。所以就着团队项目需要,自己简单封装了一个o
- timer和timertask是jdk自带的定时任务实现,无需导入第三方jar包来完成1、指定多久之后执行此任务,注意:只会执行一次publ
- 1、线程的控制很常见,如文件传送到一半时,需要暂停文件传送,或终止文件传送,这实际上就是控制线程的运行。2、线程有创建、可运行、运行中、阻塞
- 10万+IT人都在关注的图片批量压缩上传方案(完整案例+代码)背景需求:为了客户端访问图片资源时,加载图片更流畅,体验更好,通常不会直接用原
- 本文实例讲述了C#实现农历日历的方法。分享给大家供大家参考。具体实现方法如下://天干 private static