Android控件Chronometer定时器的实现方法

Chronometer是一个简单的定时器,你可以给它一个开始时间,并以此定时,或者如果你不给它一个开始时间,它将会使用你的时间通话开始。默认情况下它会显示在当前定时器的值的形式“分:秒”或“H:MM:SS的”,或者可以使用的Set(字符串)格式的定时器值到一个任意字符串

1.重要属性

android:format:定义时间的格式如:hh:mm:ss

2.重要方法

setBase(long base):设置倒计时定时器

setFormat(String format):设置显示时间的格式。

start():开始计时

stop() :停止计时

setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener):当计时器改变时调用。

3.实例

布局文件

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:padding="4dip"
 android:gravity="center_horizontal"
 android:layout_width="match_parent"
 android:layout_height="match_parent">

 <Chronometer android:id="@+id/chronometer"
 android:format="Initial format: "
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_weight="0"
 android:paddingBottom="30dip"
 android:paddingTop="30dip"
 />

 <Button android:id="@+id/start"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="开始">
 <requestFocus />
 </Button>

 <Button android:id="@+id/stop"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="停止">
 </Button>

 <Button android:id="@+id/reset"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="重置">
 </Button>

 <Button android:id="@+id/set_format"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="设置格式">
 </Button>

 <Button android:id="@+id/clear_format"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="清除格式">
 </Button>

</LinearLayout>

主程序:

package wjq.WidgetDemo;

import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;

public class ChronometerDemo extends Activity {
private Chronometer mChronometer;
 /* (non-Javadoc)
 * @see android.app.Activity#onCreate(android.os.Bundle)
 */
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 // TODO Auto-generated method stub
 super.onCreate(savedInstanceState);
 setContentView(R.layout.chronometerpage);
 Button button;

 mChronometer = (Chronometer) findViewById(R.id.chronometer);

 // Watch for button clicks.
 button = (Button) findViewById(R.id.start);
 button.setOnClickListener(mStartListener);

 button = (Button) findViewById(R.id.stop);
 button.setOnClickListener(mStopListener);

 button = (Button) findViewById(R.id.reset);
 button.setOnClickListener(mResetListener);

 button = (Button) findViewById(R.id.set_format);
 button.setOnClickListener(mSetFormatListener);

 button = (Button) findViewById(R.id.clear_format);
 button.setOnClickListener(mClearFormatListener);
 }

 View.OnClickListener mStartListener = new OnClickListener() {
 public void onClick(View v) {
 mChronometer.start();
 }
 };

 View.OnClickListener mStopListener = new OnClickListener() {
 public void onClick(View v) {
 mChronometer.stop();
 }
 };

 View.OnClickListener mResetListener = new OnClickListener() {
 public void onClick(View v) {
 mChronometer.setBase(SystemClock.elapsedRealtime());
 }
 };

 View.OnClickListener mSetFormatListener = new OnClickListener() {
 public void onClick(View v) {
 mChronometer.setFormat("Formatted time (%s)");
 }
 };

 View.OnClickListener mClearFormatListener = new OnClickListener() {
 public void onClick(View v) {
 mChronometer.setFormat(null);
 }
 };
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解Android实现定时器的几种方法

    前言 这几天正在看Android官方的开发文档,里面有很多很值得思考的开发建议,有时间的朋友可以去看一下(官方是英文文档,如果看不懂可以通过浏览器插件翻译对比着看,还是很方便的). 其中一篇课程提到了AlarmManager,这个类之前仅仅是了解这是一个闹钟的管理器,如果要是做一些胜过提醒.闹钟之类的软件都需要用到.官方的例子用来实现定时器,突然觉得这是一个很神奇的事情,就搜集了一些资料,把我知道的实现计时器的几种方法写下来,给自己加深记忆,也分享给大家. 正文 我用到的几种实现定时器的类:Ha

  • Android 实现定时器的四种方式总结及实现实例

    Android中实现定时器的四种方式 第一种方式利用Timer和TimerTask 1.继承关系 java.util.Timer 基本方法 schedule 例如: timer.schedule(task, delay,period); //delay为long,period为long:从现在起过delay毫秒以后,每隔period毫秒执行一次. schedule方法有三个参数 第一个参数就是TimerTask类型的对象,我们实现TimerTask的run()方法就是要周期执行的一个任务: 第二

  • Android三种实现定时器的方法

    方法一.使用Handler和Thread(线程)实现定时器 复制代码 代码如下: package com.xunfang.handerDemo; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.widget.TextView; public class HanderDemoActivity exte

  • Android实现定时器的五种方法实例详解

    一.Timer Timer是Android直接启动定时器的类,TimerTask是一个子线程,方便处理一些比较复杂耗时的功能逻辑,经常与handler结合使用. 跟handler自身实现的定时器相比,Timer可以做一些复杂的处理,例如,需要对有大量对象的list进行排序,在TimerTask中执行不会阻塞子线程,常常与handler结合使用,在处理完复杂耗时的操作后,通过handler来更新UI界面. timer.schedule(task, delay,period); task: Time

  • Android 三种实现定时器详解及实现方法

    方法一:Handler+Thread package com.xunfang.handerDemo; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.widget.TextView; /** * handler定时器 * * @author Smalt * */ public class Hande

  • 基于Android中实现定时器的3种解决方法

    在Android开发中,定时器一般有以下3种实现方法:一.采用Handler与线程的sleep(long)方法二.采用Handler的postDelayed(Runnable, long)方法三.采用Handler与timer及TimerTask结合的方法下面逐一介绍:一.采用Handle与线程的sleep(long)方法Handler主要用来处理接受到的消息.这只是最主要的方法,当然Handler里还有其他的方法供实现,有兴趣的可以去查API,这里不过多解释.1. 定义一个Handler类,用

  • Android实现定时器的3种方法

    在Android开发中,定时器一般有以下3种实现方法: 一.采用Handler与线程的sleep(long)方法 二.采用Handler的postDelayed(Runnable, long)方法 三.采用Handler与timer及TimerTask结合的方法 下面逐一介绍: 一.采用Handle与线程的sleep(long)方法 Handler主要用来处理接受到的消息.这只是最主要的方法,当然Handler里还有其他的方法供实现,有兴趣的可以去查API,这里不过多解释. 1. 定义一个Han

  • Android中使用定时器的三种方法

    本文实例为大家分享了Android中使用定时器的三种方法,供大家参考,具体内容如下 图示: 因为都比较简单,所以就直接贴代码(虑去再次点击停止的操作),有个全局的Handler负责接收消息更新UI 第一种方法:Thread.sleep();方法 Runnable runnable = new Runnable() { @Override public void run() { while (true) { mHandler.sendEmptyMessage(0); try { Thread.sl

  • Android定时器Timer的停止和重启实现代码

    本文介绍了Android定时器Timer的停止和重启实现代码,分享给大家,具体如下: 7月份做了一个项目,利用自定义控件呈现一幅动画,当时使用定时器来控制时间,但是当停止开启时总是出现问题.一直在寻找合理的方法解决这个问题,一直没有找到,最近终于找到了合理的方法来解决这个问题. 大家如何查询有关资料,一定知道timer,timertask取消的方式是采用Timer.cancel()和mTimerTask.cancel(),可是大家发现这种发式取消后,再次开始timer时,会报错 FATAL EX

  • Android控件Chronometer定时器的实现方法

    Chronometer是一个简单的定时器,你可以给它一个开始时间,并以此定时,或者如果你不给它一个开始时间,它将会使用你的时间通话开始.默认情况下它会显示在当前定时器的值的形式"分:秒"或"H:MM:SS的",或者可以使用的Set(字符串)格式的定时器值到一个任意字符串 1.重要属性 android:format:定义时间的格式如:hh:mm:ss 2.重要方法 setBase(long base):设置倒计时定时器 setFormat(String format)

  • Android控件设置宽高比的方法

    0. 困扰很久的问题 Android控件的宽和高保持比例,这是从我接触Android以来,一直不断会遇到的需求.以前,要么就是在代码里直接设置宽和高,要么就是自定义控件.网上也有开源的自定义ViewGroup,可以让其子View比较方便的设置宽和高的比例.但这些实现方式,还是比较麻烦,也不够直观.直到有了DataBinding,我们可以很方便地给控件加上自定义的属性,也就可以很方便的在布局文件中设置控件的宽高比了. 1. 如何实现 通过BinderAdapter为所有View绑定下面的方法,当设

  • Android控件系列之EditText使用方法

    学习目的: 1.掌握在Android中如何建立EditText2.掌握EditText的常用属性3.掌握EditText焦点的事件.按键的事件(监听器) 介绍: EditText是接受用户输入信息的最重要控件.通过前面课程的学习,您可能会猜到可以利用EditText.getText()获取它的文本,但真正的项目中,可能没那么简单,需要更多的限制,如文本长度限制,是否数字限制等等. 鉴于手机屏幕尺寸有限,您可能总想着如何节约控件.在每个用户需要填写内容的文本框的左边加上标题在PC上是一种优雅的方法

  • Android控件系列之Shape使用方法

    如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android123就写到过Android Button按钮控件美化方法里面提到了xml的selector构造.当然除了使用drawable这样的图片外今天Android开发网谈下自定义图形shape的方法,对于Button控件Android上支持以下几种属性shape.gradient.stroke.corners等. 复制代码 代码如下: 我们就以目前系统的Button的select

  • Android控件系列之ImageView使用方法

    学习目的: 1.掌握在Android中如何插入图片 图片的加入可以立刻让您的程序增色不少,我们样例选用一张Android机器人(picture.jpg),您可以使用自己的任何图片进行试验 一般建议您程序中的图片加入资源,而不是放在SD卡中用流的方式去读取,毕竟嵌入的资源比较安全,不容易被篡改. 1.导入图片到资源 将图片拖拽到项目res\drawable开头的3个文件夹下,他们分别代表了高.中.低分辨度的图片.Android读取图片时自动优化,选用合适的一个图片显示,比如高分辨率可以存放128*

  • Android控件之ToggleButton的使用方法

    ToggleButton的状态只能是选中和未选中,并且需要为不同的状态设置不同的显示文本. 以下案例为ToggleButton的用法 目录结构 main.xml布局文件 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    androi

  • 使用PlatformView将 Android 控件view制作成Flutter插件

    目录 引言 1. FlutterPlugin 创建 2. 创建 Android 控件 3. 注册 Android 控件 4. 封装 Android 层通信交互 ‘CustomViewController’ 代码说明 5. 在 flutter 中如何使用已注册的 Android 控件(view) 代码说明 如何使用这个View 6. 附上 example 完整代码 引言 小编最近在项目中实现相机识别人脸的功能,将 Android 封装的控件 view 进行中转,制作成 FlutterPlugin

  • Android自带倒计时控件Chronometer使用方法详解

    公司的以前的项目,看到使用了这个Android自带的倒计时控件Chronometer,现在整合了一下 先看看效果: <Chronometer android:id="@+id/chronometer" android:layout_width="wrap_content" android:layout_height="30dp" /> <Button android:onClick="start" andro

  • Android控件ListView使用方法详解

    Android控件ListView使用方法介绍,具体如下 一.ListView的简单用法 首先新建一个ListViewTest项目,并让Android Studio自动创建好活动.然后修改activity_main.xml中的代码,如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/re

  • Android开发之瀑布流控件的实现与使用方法示例

    本文实例讲述了Android开发之瀑布流控件的实现与使用方法.分享给大家供大家参考,具体如下: public class FlowLayout extends ViewGroup { /**行里子view之间的行距离*/ public int mHorizontolSpace = Util.getDimen(R.dimen.top_padding); /**行里子view之间的垂直距离*/ public int mVerticalSpace = Util.getDimen(R.dimen.top

随机推荐