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

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

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:orientation="vertical"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:gravity="center_horizontal"
  6. >
  7. <!-- 定义模拟时钟 -->
  8. <AnalogClock
  9. android:layout_width="wrap_content"
  10. android:layout_height="wrap_content"
  11. />
  12. <!-- 定义数字时钟 -->
  13. <DigitalClock
  14. android:layout_width="wrap_content"
  15. android:layout_height="wrap_content"
  16. android:textSize="14pt"
  17. />
  18. <Button
  19. android:id="@+id/ok"
  20. android:layout_width="wrap_content"
  21. android:layout_height="wrap_content"
  22. android:layout_marginTop="25dp"
  23. android:text="单击我" />
  24.  
  25. <Chronometer
  26. android:id="@+id/test"
  27. android:layout_width="wrap_content"
  28. android:layout_height="wrap_content"/>
  29. </LinearLayout>

mainactivity中

  1. package com.example.clock;
  2.  
  3. import android.os.Bundle;
  4. import android.os.SystemClock;
  5. import android.app.Activity;
  6. import android.view.View;
  7. import android.widget.Button;
  8. import android.widget.Chronometer;
  9. import android.widget.Chronometer.OnChronometerTickListener;
  10.  
  11. public class MainActivity extends Activity {
  12.  
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.activity_main);
  17. //获取计时器组件
  18. final Chronometer ch = (Chronometer)findViewById(R.id.test);
  19. //获取开始按钮
  20. Button start =(Button)findViewById(R.id.ok);
  21. start.setOnClickListener(new View.OnClickListener()
  22. {
  23. @Override
  24. public void onClick(View source)
  25. {
  26. //设置开始时间
  27. ch.setBase(SystemClock.elapsedRealtime());
  28. //启动计时器
  29. ch.start();
  30. }
  31. });
  32. ch.setOnChronometerTickListener(new OnChronometerTickListener()
  33. {
  34. public void OnChronometerTick(Chronometer ch)
  35. {
  36. if(SystemClock.elapsedRealtime() - ch.getBase() > 20*1000)
  37. {
  38. ch.stop();
  39. }
  40. }
  41. @Override
  42. public void onChronometerTick(Chronometer arg0) {
  43. // TODO Auto-generated method stub
  44. }
  45. });
  46. }
  47. }

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

android脚步---数字时钟和模拟时钟的更多相关文章

  1. Android控件 之 TextClock & AnalogClock(模拟时钟)

    TextClock •简介 关于时间的文本显示,Android 提供了 DigitalClock 和 TextClock. DigitalClock是Android第1版本发布,功能很简单,只显示时间 ...

  2. 模拟时钟(AnalogClock)和数字时钟(DigitalClock)

    Demo2\clock_demo\src\main\res\layout\activity_main.xml <LinearLayout xmlns:android="http://s ...

  3. 练手WPF(一)——模拟时钟与数字时钟的制作(上)

    一.Visual Studio创建一个WPF项目. 简单调整一下MainWindow.xaml文件.主要使用了两个Canvas控件,分别用于显示模拟和数字时钟,命名为AnalogCanvas.digi ...

  4. 一个模拟时钟的时间选择器 ClockPicker

    最近开发的一个模拟时钟的时间选择器 ClockPicker,用于 Bootstrap,或者单独作为一个 jQuery 插件. 源代码托管在 GitHub 上: ClockPicker 最近项目中需要用 ...

  5. css模拟时钟

    css模拟时钟 思路: 画时钟数字(x,y)坐标 x = x0 + r*cos(deg) y = y0 + r*sin(deg) 知识点: 创建元素: createElement 添加元素: appe ...

  6. 【CSS3】纯CSS代码实现模拟时钟,+js对时功能。

    使用CSS3纯代码来实现模拟时钟,及指针动画功能. 在这里主要使用到css3一些基本元素: border-radius:圆角边框,画圆形:表盘 Transform:变换,旋转,扭曲:刻度盘,指针形状 ...

  7. 模拟时钟(AnalogClock)

    模拟时钟(AnalogClock) 显示一个带时钟和分针的表面 会随着时间的推移变化 常用属性: android:dial 可以为表面提供一个自定义的图片 下面我们直接看代码: 1.Activity ...

  8. Windows下编程--模拟时钟的实现

    windows下编程--模拟时钟的实现: 主要可以分为几个步骤: (1)   编写按键事件处理(启动和停止时钟) (2)   编写时钟事件处理,调用显示时钟函数 (3)   编写显示时钟函数,要调用显 ...

  9. 数字设计中的时钟与约束(gate)

    转载:https://www.cnblogs.com/IClearner/p/6440488.html 最近做完了synopsys的DC workshop,涉及到时钟的建模/约束,这里就来聊聊数字中的 ...

随机推荐

  1. js中call方法的使用介绍

    js call call 方法 请参阅 应用于:Function 对象 要求 版本 5.5 调用一个对象的一个方法,以另一个对象替换当前对象. call([thisObj[,arg1[, arg2[, ...

  2. WIN7 64位 IE10打开WEB管理提示证书不安全

    用IE10只要在CMD里运行 certutil -setreg chain\minRSAPubKeyBitLength 512 就好了

  3. 日期和时间特效-查看"今天是否为节假日"

    ———————————————— <script type="text/javascript">                    function start() ...

  4. easyui datagrid deleteRow(删除行)的BUG!

    转自:http://my.oschina.net/fants/blog/77189项目中又用到easyui 的datagrid做数据展示.功能很强大,很实用,但bug也很多.今天这个就够让人头疼. 如 ...

  5. PHP数组函数试题

    使用Ctrl+A查看答案 1.将数组的键名全部转换成小写和大写的函数是什么?答:array_change_key_case($array [,CASE_LOWER|CASE_UPPER]) 2.创建一 ...

  6. php之PDO使用【转载】

    <?php $dbh = new PDO('mysql:host=localhost;dbname=access_control', 'root', ''); $dbh->setAttri ...

  7. PHP之Zip扩展,解压缩文件,ZipArchive类

    <?php $zip = new ZipArchive();//新建一个对象 /* $zip->open这个方法第一个参数表示处理的zip文件名. 第二个参数表示处理模式,ZipArchi ...

  8. bind启动时提示953端口被使用

    部署DNS的时候遇到个奇葩的问题,总是提示 couldn't add command channel 0.0.0.0#953: address in use 实际上系统上并没有进程使用953端口.查询 ...

  9. css的单位

    如果你是一名前端开发工程师,一般px和em使用频率比较高.但是今天的重点是介绍一些我们使用很少.甚至木有听说过的单位. 一.em <style type="text/css" ...

  10. C# Socket的TCP通讯

    Socket的TCP通讯 一. socket的通讯原理 服务器端的步骤如下. (1)建立服务器端的Socket,开始侦听整个网络中的连接请求. (2)当检测到来自客户端的连接请求时,向客户端发送收到连 ...