zoukankan      html  css  js  c++  java
  • 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中添加。

  • 相关阅读:
    背水一战 Windows 10 (90)
    背水一战 Windows 10 (89)
    背水一战 Windows 10 (88)
    背水一战 Windows 10 (87)
    背水一战 Windows 10 (86)
    背水一战 Windows 10 (85)
    背水一战 Windows 10 (84)
    背水一战 Windows 10 (83)
    背水一战 Windows 10 (82)
    背水一战 Windows 10 (81)
  • 原文地址:https://www.cnblogs.com/Anita9002/p/3977313.html
Copyright © 2011-2022 走看看