模拟时钟(AnalogClock)

显示一个带时钟和分针的表面

会随着时间的推移变化

常用属性:

android:dial

可以为表面提供一个自定义的图片

下面我们直接看代码:

1.Activity

//模拟时钟
public class AnalogClockActivity extends Activity {private TextView timeTextView;private Handler handler;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.analog_clock);timeTextView = (TextView) findViewById(R.id.timeTextViewId);
//        Handler机制发送消息handler = new Handler() {public void handleMessage(Message msg) {timeTextView.setText(currentTime());}};
//        设置时间
        timeTextView.setText(currentTime());new CurrentTimeThread(handler).start();}private String currentTime() {Calendar c = Calendar.getInstance();int year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH) + 1;int day = c.get(Calendar.DAY_OF_MONTH);int hour = c.get(Calendar.HOUR_OF_DAY);int minute = c.get(Calendar.MINUTE);int second = c.get(Calendar.SECOND);//(month < 10 ? "0" + month : month)三目运算法String currentTime = year + "-" + (month < 10 ? "0" + month : month) + "-" + (day < 10 ? "0" + day : day) + " "+ (hour < 10 ? "0" + hour : hour) + ":" + (minute < 10 ? "0" + minute : minute) + ":"+ (second < 10 ? "0" + second : second);return currentTime;}}
//开启一个子线程
class CurrentTimeThread extends Thread {private Handler handler;public CurrentTimeThread(Handler handler) {this.handler = handler;}public void run() {while (true) {try {Thread.sleep(1000);handler.sendEmptyMessage(1);} catch (InterruptedException e) {e.printStackTrace();}}}
}

2.xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:padding="5dp" ><DigitalClockandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:textSize="20sp" />
<!-- 模拟时钟 --><AnalogClockandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:dial="@drawable/biao_pan" /><TextViewandroid:id="@+id/timeTextViewId"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:textSize="20sp" /></LinearLayout>

3.效果图显示

转载于:https://www.cnblogs.com/wuziyue/p/5470562.html

模拟时钟(AnalogClock)相关推荐

  1. Android Studio利用时钟控件AnalogClock显示模拟时钟以及TextClock显示数字时钟

    前言 利用时钟控件AnalogClock快速制作一个模拟时钟.利用TextClock显示数字时钟. 一.AnalogClock是什么? AnalogClock继承的是View,可重写OnDraw方法. ...

  2. 模拟时钟:时钟根据时间转动

    /**** 时钟根据时间转动* 模拟时钟**/ @RemoteView public class AnalogClock extends View {private Time mCalendar;pr ...

  3. Android在屏幕中模拟时钟

    AnalogClock组件用来在Android中显示模拟时钟,可以在XML布局文件中通过标记添加,格式如下: <AnalogClock 属性列表 /> 布局文件代码如下: <?xml ...

  4. Android模拟时钟和数字时钟示例

    在Android中, AnalogClock是两只手的时钟,一个代表小时,另一个代表分钟. DigitalClock看起来就像您手中的普通数字手表,以数字格式显示小时,分钟和秒. AnalogCloc ...

  5. Android之场景桌面(二)----模拟时钟实现

    之前关于场景桌面Android之场景桌面(一)作了一个大概的描述,总体实现比较简单.今天跟大家分享一下一个自定义View ----模拟时钟的具体实现,先来看看效果图吧,单独提取出来的,相比场景桌面中的 ...

  6. java 模拟时钟_java模拟时钟

    本次课程设计采用时间片轮转调度算法来实现模拟进程调度任务的执行过 程. 用 Java 模拟进程调度过程,可以方便地将运行结果直观地表示出来.Java 语言 独有的多...... 本次课程设计采用时间片 ...

  7. c语言画图 钟表模拟程序,图形模拟时钟C语言课程设计

    图形模拟时钟C语言课程设计 更新时间:2017/2/2 9:03:00  浏览量:640  手机版 学号13082101182014-2015学年第二学期 <高级语言程序设计> 课程设计报 ...

  8. c语言课设报告时钟vc环境,C语言课程设计报告模拟时钟转动程序

    C语言课程设计报告模拟时钟转动程序 课程设计报告题 目 课 程 名 称 结构化程序设计课程设计 院 部 名 称 专 业 班 级 学 生 姓 名 王蕾 学 号 课程设计地点 课程设计学时 指 导 教 师 ...

  9. c语言课设报告时钟vc环境,C语言课程设计报告模拟时钟转动程序.doc

    C语言课程设计报告模拟时钟转动程序 PAGE 课程设计报告 题 目 课 程 名 称 结构化程序设计课程设计 院 部 名 称 专 业 班 级 学 生 姓 名 王蕾 学 号 课程设计地点 课程设计学时 指 ...

最新文章

  1. 介绍几个好用的android自定义控件
  2. JAVA 解析xml字符串
  3. aws终止实例后还收费吗_因 AWS 数据中心断电,1TB 数据丢失了
  4. Android串口编程--开关灯Demo(附源码)
  5. Java 编写程序 创建一个游戏【5、6两章的内容】【第5章】
  6. Opencv一维直方图的绘制
  7. solidworks模板_SOLIDWORKS 高级BOM导出工具
  8. UML建模之状态图(Statechart Diagram)
  9. 大屏实时监控-2019年CSDN博客之星年度总评选(2019-01-20 23:30)
  10. leetcode 92 python
  11. php root权限执行命令,如何使用PHP执行需要root权限的系统命令
  12. 对于PHP大型开发框架的看法
  13. Python人工智能第一篇:语音合成和语音识别
  14. 开课吧Java课堂:什么是流?如何运用字节流和字符流?
  15. Java中的各种数据类型的转换
  16. 免杀工具 -- FourEye
  17. 新版标准日本语高级_第5课
  18. 内华达大学里诺校区计算机科学,PayScal公布美国各州就业工资最高大学!加州第1竟是文理学院,纽约州也非哥大和纽大...
  19. FTP网络服务器 Xlight+FlashFXP
  20. Unity制作简单的精灵图动画(新手向)

热门文章

  1. 如何把无线路由器变成无线交换机使用?
  2. 使用selenium爬取当当网图书
  3. Visual Studio 编程技巧
  4. python 获取数据库字段类型_python数据库类型对应
  5. 计算机主机按键名称,space是哪个键 各种电脑键位名称及功用详解【图文】
  6. 03 大数据hadoop发展简史及环境安装
  7. ntc温度控制程序 c语言,NTC热敏电阻温度计算以及C语言实现
  8. ffmpeg视频压缩命令
  9. 信息熵、相对熵(KL散度)、交叉熵、条件熵、互信息、联合熵
  10. 想知道如何批量旋转图片?只要学会这两招就可以