android中计时器chronometer

计时器chronometer继承自TextView,显示的是从一个起始时间开始,一共过去了多长时间。

属性只有一个format,用于指定计时器的计时格式。

要用时间间隔,可以用SystemClock来实现:

1.SystemClock.currentThreadTimeMillis(); // 在当前线程中已运行的时间  2.SystemClock.elapsedRealtime(); // 从开机到现在的毫秒书(手机睡眠(sleep)的时间也包括在内)  3.SystemClock.uptimeMillis(); // 从开机到现在的毫秒书(手机睡眠的时间不包括在内)  4.SystemClock.sleep(100); // 类似Thread.sleep(100);但是该方法会忽略InterruptedException  5.SystemClock.setCurrentTimeMillis(1000); // 设置时钟的时间,和System.setCurrentTimeMillis类似 

代码:

main_activity.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:gravity="center_horizontal">

    <Chronometer        android:id="@+id/test"        android:layout_height="wrap_content"        android:layout_width="wrap_content"        android:textSize="12pt"        android:textColor="#ffff0000"/>    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/start"        android:text="启动"/></LinearLayout>MainActivity.java
import android.app.Activity;import android.os.*;import android.view.View;import android.widget.*;

public class MainActivity extends Activity {    Chronometer ch;    Button start;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);//调用父类的onCreate构造函数,savedInstanceState保存当前Activity的状态信息。每个activity都要进行一些必要的初始化,而这些初始化就是通过调用父类的构造函数来进行的,举个例子,生成一个空白的activity,起码有一个标题,这个标题是怎样关联和生成的,就是通过构造函数来处理。        setContentView(R.layout.activity_main);        ch=(Chronometer)findViewById(R.id.test);        start=(Button)findViewById(R.id.start);        start.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                ch.setBase(SystemClock.elapsedRealtime());//SystemClock.elapsedRealtime()从开机到现在的毫秒数(手机睡眠的时间也包括在内)                ch.start();                start.setEnabled(false);            }        });        ch.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {            @Override            public void onChronometerTick(Chronometer ch) {               if(SystemClock.elapsedRealtime()-ch.getBase()>30*1000){                   ch.stop();                   start.setEnabled(true);               }            }        });    }}
运行结果:

				
时间: 2024-10-27 03:38:07

android中计时器chronometer的相关文章

每日总结 - android中计时器类CountDownTimer

定时器一般用handler和线程或者timer来实现,但是android中提供了一个计时器类CountDownTimer.定时执行在一段时候后停止的倒计时,在倒计时执行过程中会在固定间隔时间得到通知(触发onTick方法).将后台线程的创建和Handler队列封装成为了一个方便的类方便开发者调用. 1 /* 定义一个倒计时的内部类 */ 2 class TimeCount extends CountDownTimer { 3 public TimeCount(long millisInFutur

Android有感(20):时钟(AnalogClock和TextClock)和计时器(Chronometer)

时钟文本TextClock继承自TextView,是用于显示当前时间的文本框. TextClock支持的XML属性和相关方法 XML属性 相关方法 说明 android:format12Hour setFormat12Hour(CharSequence) 设置12小时制的格式字符串 android:format24Hour setFormat12Hour(CharSequence) 设置24小时制的格式字符串 android:timeZone setTimeZone(String) 设置该时钟的

安卓学习第9课——计时器chronometer

今天学习了钟表及计时器.. 我觉得AnalogClock和DigitalClock直接使用就可以.唯一需要知道的就是AnalogClock是可以修改表盘和分针时针的. 方法是android:dail及android:hand_minute和hand_hour. 下面介绍的是计时器的用法. 首先xml中只要放入一个chronometer和一个按钮即可.为的是是点击启动按钮,开始计时,20s停止. package com.example.chronometer; import android.app

Android简单计时器

[java] view plaincopyprint? <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width= "fill_pa

Android 中常见控件的介绍和使用

1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.lang.Object   ? android.view.View   ? android.widget.TextView 直接子类: Button, CheckedTextView, Chronometer, DigitalClock, EditText 间接子类: AutoCompleteTextV

计时器chronometer补充

项目中要实现关于安卓控件chronometer这部分的功能需求: 1.计时器的功能对用户答题时间进行时间统计,用户答完该题,进入下一题,计时器接续上一题的结束时间继续计时: 2.用户可以跳出答题界面,然后进入主页面,再次选择其他题进入答题界面,这时候计时器接续跳之前的时间断点继续计时: 其实关键点就是,计时器停止计时的时候,使用一个全局的静态变量(静态的原因,当用户跳出答题界面的时候,再次进入答题界面会从onCreat()函数开始执行,所以要使用静态变量保存:全局的原因是因为程序任何修改计时器的

Android Wear计时器开发

记得在2013年12月的时候,有系列文章是介绍怎么开发一个智能手表的App,让用户可以在足球比赛中记录停表时间.随着Android Wear的问世,在可穿戴设备中开发一款这样的App确实是个很不错的想法,但是按照目前对于Android Wear的架构了解来说,似乎有些困难.所以本系列文章我们就重写这个应用,带领大家进入Android Wear的世界. 本文不会长篇大论地讲解我们要开发的这款App的用途,因为我们在之前的系列文章已经深入了解过了.这么说吧,这是一个计时类应用,在比赛开始的时候开始执

android 中 AppWidget 的 ListView 的实现

3.0 以后系统直接支持了ListView. 关于ListView 的国内资料匮乏,大多数例子都是转来转去.由于初学android, 鄙人在搜索资料的时候遇到了不少麻烦~很是郁闷和苦恼~深感国内学习氛围确实怪异,学习方式需要改变.应该多去查看官方文档.... 话不多说,现在开始listView 实现: 这是文档列出的支持的布局和widget控件: A RemoteViews object (and, consequently, an App Widget) can support the fol

计时器Chronometer和时钟(AnalogClock和DigitalClock)

计时器Chronometer和时钟(AnalogClock和DigitalClock) (1)Android提供了两个时钟组件:AnalogClock和DigitalClock,DigitalClock继承了TextView组件,也就是说它本身是一个文本框,只是他里面的内容总是当前时间,所以为DigitalClock设置android:text属性没有作用:AnalogClock继承了View组件,重写了View的OnDraw方法,它会在View上绘制模拟时钟. (2)AnalogClock与D