• 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中添加。

  • 相关阅读:
    Linux 系统监控和诊断工具:lsof
    C语言基础(21)-C语言编译过程及GCC参数简介
    VS2013-解决VS2013 4996错误
    C语言基础(20)-文件操作(fopen,getc,fclose)
    eclipse-Java compiler level does not match the version of the installed Java project facet.
    C语言基础(19)-结构体,联合体,枚举和typedef
    android studio- Gradle "xxx" project refresh failed
    C语言基础(18)-内存
    C语言基础(17)-作用域
    android.app.Service-android:process=":remote"属性解说
  • 原文地址:https://www.cnblogs.com/Anita9002/p/3977313.html
Copyright © 2020-2023  润新知