zoukankan      html  css  js  c++  java
  • Android简易实战教程--第三十九话《Chronometer实现倒计时》

    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。");
    
    		}
    
    	}
    
    }
    

    运行跑起来看看效果:


  • 相关阅读:
    一起来学Java注解(Annotation)
    Intellij IDEA在maven项目中添加外部Jar包运行
    Java反射Reflect的使用详解
    Java泛型使用的简单介绍
    聊一聊Java的枚举enum
    Java集合 HashSet的原理及常用方法
    对比分析HashMap、LinkedHashMap、TreeMap
    TreeMap原理实现及常用方法
    关于红黑树(R-B tree)原理,看这篇如何
    百度地图-中国地图
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299521.html
Copyright © 2011-2022 走看看