`

Chronometer应用小实例--炫酷计时器 .

阅读更多
运行效果图:
[img]

[/img]

ChronometerDemoActivity:
package com.amaker.timer;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.SystemClock;
import android.text.format.Time;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.EditText;

public class ChronometerDemoActivity extends Activity {

	private int startTime = 0;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

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

		Button btnStart = (Button) findViewById(R.id.btnStart);

		Button btnStop = (Button) findViewById(R.id.btnStop);

		Button btnRest = (Button) findViewById(R.id.btnReset);

		final EditText edtSetTime = (EditText) findViewById(R.id.edt_settime);

		btnStart.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {

				System.out.println("--开始记时---");
				String ss = edtSetTime.getText().toString();
				if (!(ss.equals("") && ss != null)) {
					startTime = Integer.parseInt(edtSetTime.getText()
							.toString());
				}
				// 设置开始讲时时间
				chronometer.setBase(SystemClock.elapsedRealtime());
				// 开始记时
				chronometer.start();

			}
		});

		btnStop.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				// 停止
				chronometer.stop();
			}

		});

		// 重置
		btnRest.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				chronometer.setBase(SystemClock.elapsedRealtime());

			}

		});
		chronometer
				.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
					@Override
					public void onChronometerTick(Chronometer chronometer) {
						// 如果开始计时到现在超过了startime秒
						if (SystemClock.elapsedRealtime()
								- chronometer.getBase() > startTime * 1000) {
							chronometer.stop();
							// 给用户提示
							showDialog();
						}
					}
				});
	}

	protected void showDialog() {
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
		 builder.setIcon(R.drawable.icon);
		builder.setTitle("警告").setMessage("时间到")
				.setPositiveButton("确定", new DialogInterface.OnClickListener() {
					@Override
					public void onClick(DialogInterface dialog, int which) {
					}
				});

		AlertDialog dialog = builder.create();
		dialog.show();
	}
}


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

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dip"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="4"
            android:gravity="center"
            android:text="设置时间:" />

        <EditText
            android:id="@+id/edt_settime"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:inputType="number" />
    </LinearLayout>

    <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="重置" />
    </LinearLayout>

</LinearLayout>
  • 大小: 16.6 KB
分享到:
评论

相关推荐

    Android应用小实例--炫酷计时器

    在这个“Android应用小实例--炫酷计时器”中,我们将深入探讨如何在Android应用中创建并定制一个功能丰富的计时器。 计时器组件在Android SDK中是`android.widget.Chronometer`类,它类似于一个倒计时定时器,但...

    android下的Chronometer应用--正逆向计时器

    本项目文件“ClockDemo”旨在帮助开发者理解和实现一个基本的计时器应用,特别关注逆向计时功能,适用于Android 2.3及以上版本。 ** Chronometer组件介绍 ** Chronometer是Android中的一个视图类,继承自TextView...

    炫酷计时器功能源码.zip

    综上所述,“炫酷计时器功能源码”是一个展示了如何在Android中利用Chronometer控件实现计时及提示功能的实例。通过学习这个源码,开发者可以了解如何操作Chronometer,以及如何根据需求扩展其功能,以满足不同应用...

    计时器Chronometer控件的应用实例

    计时器Chronometer控件是Android开发中常见的一种时间显示组件,主要用于实时显示流逝的时间,例如倒计时、计时等场景。在Android应用开发中,Chronometer控件的使用非常广泛,它提供了简单易用的接口来实现时间的...

    android Chronometer计时器 基本实例

    - `android:base`:设置计时器的基准时间,单位为毫秒(`SystemClock.elapsedRealtime()`)。 - `android:visibility`:控制`Chronometer`的可见性,与普通`View`相同。 ### 4. 在Java代码中操作`Chronometer` 在...

    Android我自己的简易(秒表)计时器Chronometer

    在Android平台上,开发一个简易的计时器应用,如秒表(Chronometer),是一个常见的练习,可以帮助初学者理解和掌握Android的UI组件以及时间处理。秒表功能在许多运动和活动中都有广泛的应用,例如跑步、游泳等,它...

    计时器Chronometer

    在Android开发中,计时器(Chronometer)和震动器(Vibrator)是两个非常实用的组件,它们分别用于时间显示和设备震动效果的实现。本文将深入探讨这两个组件的使用方法、相关API以及如何结合它们来创建动态的用户...

    android应用源码闹钟-秒表-倒计时-时钟四合一源码.zip

    该压缩包文件“android应用源码闹钟-秒表-倒计时-时钟四合一源码.zip”包含了Android平台上一款集成了四种功能的应用的源代码:闹钟、秒表、倒计时和时钟。这是一份非常适合Android开发者学习和参考的资源,可以帮助...

    Chronometer 计时器组件的用法

    在Android开发中,Chronometer是一个非常实用的组件,主要用于显示倒计时或计时过程,它的功能类似于我们日常生活中常见的计时器。本教程将深入探讨如何在Android应用中使用Chronometer组件,以及如何实现其核心功能...

    Android计时器控件Chronometer应用实例

    Android计时器控件Chronometer应用实例 Android计时器控件Chronometer是一种常用的计时器控件,能够显示计时信息,帮助开发者快速实现计时功能。本文将详细介绍Android计时器控件Chronometer的应用实例,包括布局...

    Chronometer倒计时 android

    在Android开发中,Chronometer控件是一个非常实用的组件,常用于显示已过去的时间或进行倒计时。...通过分析和学习这个示例,开发者可以更好地理解和掌握在Android应用中使用Chronometer实现倒计时的方法。

    Android Chronometer 使用实例

    本实例将探讨如何在Android应用中使用Chronometer,并结合图片切换功能,来创建一个更具交互性的用户体验。 首先,让我们了解Chronometer的基本用法。在布局XML文件中,你可以添加一个Chronometer元素,像这样: `...

    实现了暂停功能以及初始值为0的chronometer计时器

    在Android开发中,Chronometer组件是一个非常实用的工具,它用于显示从特定时间点开始的累计时间,通常用于倒计时或计时器应用。在本项目中,开发者已经实现了一个具有暂停功能以及初始值为0的Chronometer计时器,...

    移动互联网-计时器Chronometer.ppt

    移动互联网应用

    Android计时器chronometer使用实例讲解

    总的来说,Chronometer是Android开发者用来创建计时功能的便捷工具,通过结合不同的方法和监听器,我们可以实现丰富的计时功能,满足各种应用场景的需求。在实际开发中,根据项目需求,可以进一步扩展 Chronometer ...

    Chronometer实现计时器的开始停止重置功能

    在Android开发中,Chronometer是用于显示倒计时或者计时的一种组件,它非常适合于创建简单的时间追踪应用,比如秒表。本教程将详细介绍如何利用Chronometer实现计时器的开始、停止和重置功能。 首先,让我们了解...

    秒表计时器,可以实现计时功能

    在Activity的onCreate()或onResume()方法中,我们需要找到Chronometer实例并设置相应的属性,然后启动计时器。如下所示: ```java Chronometer chronometer = findViewById(R.id.chronometer); chronometer....

    Android(安卓)应用开发技术 Chronometer组件实现计时器功能案例源代码.rar

    Android(安卓)应用开发技术 Chronometer组件实现计时器功能案例源代码.rar Android(安卓)应用开发技术 Chronometer组件实现计时器功能案例源代码.rar Android(安卓)应用开发技术 Chronometer组件实现计时器...

    Android自定义Chronometer实现短信验证码秒表倒计时功能.docx

    在Android应用开发中,有时我们需要实现一种特定的功能,比如短信验证码倒计时。在这个场景下,用户发送短信请求验证码后,通常会有一个时间限制(如60秒)来输入验证码。为了提供良好的用户体验,开发者会使用倒...

    Android 计时器

    总的来说,Android Chronometer是一个简单易用的计时工具,通过合理利用其提供的属性和事件监听,开发者可以轻松地在应用程序中实现各种计时功能,无需额外处理线程和计时器的复杂性。在项目中,根据具体需求灵活...

Global site tag (gtag.js) - Google Analytics