android脚步---数字时钟和模拟时钟

时钟UI组件是两个非常简单的组件,分为Digitalclock  和Analogclock,

 

 main.xml文件,书中程序有问题,加了两个组件,一个Button和一个<Chronometer

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical"  
     android:layout_width="fill_parent"  
     android:layout_height="fill_parent"  
     android:gravity="center_horizontal"  
     > 
 <!-- 定义模拟时钟 --> 
 <AnalogClock   
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     />  
 <!-- 定义数字时钟 --> 
 <DigitalClock 
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:textSize="14pt" 
     /> 
<Button
 android:id="@+id/ok"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginTop="25dp"
 android:text="单击我" />

<Chronometer 
    android:id="@+id/test"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
 </LinearLayout> 

 mainactivity中

package com.example.clock;

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

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//获取计时器组件
		final Chronometer ch = (Chronometer)findViewById(R.id.test);
		//获取开始按钮
		Button start =(Button)findViewById(R.id.ok);	
		start.setOnClickListener(new View.OnClickListener()
		{
			@Override
	            public void onClick(View source)
	            {
				//设置开始时间
				ch.setBase(SystemClock.elapsedRealtime());
				//启动计时器
				ch.start();
			}
		});
		ch.setOnChronometerTickListener(new OnChronometerTickListener()
		{
			public void OnChronometerTick(Chronometer ch)
			{
				if(SystemClock.elapsedRealtime() - ch.getBase() > 20*1000)
				{
					ch.stop();
				}
			}
			@Override
			public void onChronometerTick(Chronometer arg0) {
				// TODO Auto-generated method stub				
			}
		});		
	}	
}

 所以Button和Chronometer均需要在main.xml中添加。

原文地址:https://www.cnblogs.com/Anita9002/p/3977313.html