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

  • 相关阅读:
    Android Studio打包过程和应用安装过程
    MVP模式和Clean模式
    Gradle入门学习---认识buildeTypes和dependencies
    微信小程序官方DEMO解读
    从ListView逐步演变到RecyclerView
    Mac下如何配置环境变量
    Android上滑手势触发和不增加布局层级扩大点击区域
    寻找Fragment的替代品的尝试
    高效的策略模式设计方法
    利用ListView的基本方法实现效果
  • 原文地址:https://www.cnblogs.com/Anita9002/p/3977313.html
Copyright © 2011-2022 走看看