Android简易实战教程--第三十九话《Chronometer实现倒计时》

来源:互联网 发布:网络正常下载速度很慢 编辑:程序博客网 时间:2024/05/19 17:51

Android提供了实现按照秒计时的API,今天就是用这个API实现简单的倒计时。

来个布局:

<?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:orientation="vertical" >    <Chronometer        android:id="@+id/myChronometer"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <Button            android:id="@+id/btnStart"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="开始计时" />        <Button            android:id="@+id/btnStop"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="停止" />        <Button            android:id="@+id/btnBase"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="复位" />        <Button            android:id="@+id/btnFormat"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="格式化" />    </LinearLayout></LinearLayout>

对应活动中的代码如下:

package com.example.timer;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 MainActivity extends Activity {private Chronometer myChronometer = null;private Button btnStart = null;private Button btnStop = null;private Button btnBase = null;private Button btnFormat = null;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); // 生命周期方法super.setContentView(R.layout.activity_main); // 设置要使用的布局管理器this.myChronometer = (Chronometer) super.findViewById(R.id.myChronometer);btnStart = (Button) super.findViewById(R.id.btnStart);btnStop = (Button) super.findViewById(R.id.btnStop);btnBase = (Button) super.findViewById(R.id.btnBase);btnFormat = (Button) super.findViewById(R.id.btnFormat);btnStart.setOnClickListener(new OnClickListenerStart());btnStop.setOnClickListener(new OnClickListenerStop());btnBase.setOnClickListener(new OnClickListenerBase());btnFormat.setOnClickListener(new OnClickListenerFormat());}private class OnClickListenerStart implements OnClickListener {public void onClick(View arg0) {myChronometer.start();}}private class OnClickListenerStop implements OnClickListener {public void onClick(View arg0) {myChronometer.stop();}}private class OnClickListenerBase implements OnClickListener {public void onClick(View arg0) {myChronometer.setBase(SystemClock.elapsedRealtime());}}private class OnClickListenerFormat implements OnClickListener {public void onClick(View arg0) {myChronometer.setFormat("新的显示格式:%s。");}}}

运行跑起来看看效果:


0 0