时钟(AnalogClock和DigitalClock)的功能与用法
时钟UI组件是两个非常简单的组件,DigitalClock本身就继承了TextView——也就是说它本身就是文本框,只是它里面显示的内容总是当前时间。与TextView不同的是为DigitalClock设置android:text属性没什么作用。
AnalogClock则继承了View组件,他重写了View的OnDraw方法,它会在View上绘制模拟时钟。
表2.16显示了AnalogClock所支持的XML属性的说明。
表2.16 AnalogClock支持的XML属性的说明
| XML属性 | 说明 |
| android:dial | 设置该模拟时钟的表盘使用的图片 |
| android:hand_hour | 设置该模拟时钟的时针表盘使用的图片 |
| android:hand_minute | 设置该模拟时钟的分针使用的图片 |
DigitalClock和AnalogClock都会显示当前时间。不同的是,DigitalClock显示数字时钟,可以显示当前的秒数;AnalogClock显示模拟时钟,不会显示当前秒数。
通过下面的实例来示范AnalogClock和DigitalClock的用法。
实例:手机里的“劳力士”
由于我们可以通过图片定制AnalogClock模拟指针的表盘、时针、分针,因此只要使用合适的图片,就可以对AnalogClock进行任意定制。下面的实例将会使用“劳力士”图片来定义模拟时钟,从而开发手机里面的“劳力士”。
下面是本实例的布局文件。
<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"
android:textColor="#f0f"
android:drawableRight="@drawable/ic_launcher"/>
<!-- 定义模拟时钟,并使用自定义表盘,时针图片 -->
<AnalogClock android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:dial="@drawable/watch"
android:hand_minute="@drawable/hand" />
</LinearLayout>
使用Activity显示上面的界面布局,将会看到2.27所示的界面。
正如从上面的粗体字代码中看到的,如果想控制模拟时钟显示时间的字号大小、字体颜色等,都可通过android:textSize、android:textColor等属性进行控制——因为DigitalClock本质上还是一个TextView,所以它可以使用TextView的XML属性和方法。

图2.27 数字时钟与模拟时钟
时钟(AnalogClock和DigitalClock)的功能与用法的更多相关文章
- 时钟AnalogClock和DigitalClock
<AnalogClock android:layout_width="fill_parent" android:layout_height="fill_parent ...
- 计时器Chronometer和时钟(AnalogClock和DigitalClock)
计时器Chronometer和时钟(AnalogClock和DigitalClock) (1)Android提供了两个时钟组件:AnalogClock和DigitalClock,DigitalCloc ...
- Android零基础入门第59节:AnalogClock、DigitalClock和TextClock时钟组件
原文:Android零基础入门第59节:AnalogClock.DigitalClock和TextClock时钟组件 在前面一期,我们学习了DatePicker和TimePicker,在实际开发中其不 ...
- 模拟时钟(AnalogClock)和数字时钟(DigitalClock)
Demo2\clock_demo\src\main\res\layout\activity_main.xml <LinearLayout xmlns:android="http://s ...
- Android 自学之画廊视图(Gallery)功能和用法
Gallery与之前讲的Spinner有共同的父类:AbsSpinner,表明Gallery和Spinner都是一个列表框.他们之间的区别在于Spinner显示的是一个垂直的列表框,而Gallery显 ...
- 搜索框(SearchView)的功能与用法
SearchView是搜索框组件,它可以让用户在文本框内输入汉字,并允许通过监听器监控用户输入,当用户用户输入完成后提交搜索按钮时,也通过监听器执行实际的搜索. 使用SearchView时可以使用如下 ...
- 数值选择器(NumberPicker)的功能与用法
数值选择器用于让用户输入数值,用户既可以通过键盘输入数值,也可以通过拖动来选择数值.使用该组件常用如下三个方法. setMinValue(int minVal):设置该组件支持的最小值. setMax ...
- 日历视图(CalendarView)组件的功能和用法
日历视图(CalendarView)可用于显示和选择日期,用户既可选择一个日期,也可通过触摸来滚动日历.如果希望监控该组件的日历改变,可调用CalendarView的setOnDateChangeLi ...
- 星级评分条(RatingBar)的功能和用法
星级评分条与拖动条有相同的父类:AbsSeekBar,因此它们十分相似.实际上星级评分条与拖动条的用法.功能都十分接近:它们都是允许用户通过拖动条来改变进度.RatingBar与SeekBar最大区别 ...
随机推荐
- PS2鼠标+LCD12864实验(调试未成功)
此试验我一人调试许久都未成功,但发送ff时,读出来的数据确是对的,一开始让我窃喜,但发送f4时,读出来的数据确是错的,哎让苦恼啊,能力有限,只能先暂时就这样吧,那位什么还要贴出来呢,有两个原因: 1. ...
- js中原生对象、内置对象和宿主对象(转)
本帖最后由 无解. 于 2012-9-9 12:13 编辑 <ignore_js_op> 这个图来自于<JavaScript语言精髓与编程实践>第三章P184页.最近在改第二版 ...
- 深入理解setTimeout和setinterval
以前一直以为这两个函数就是简单了认为类似thread一样的东西, 认为会在一个时间片内, 并发的执行调用的函数, 似乎很好很强大, 但其实并不是如此, 实际的情况是javascript都是以单线程的方 ...
- JSDOM优化
JS操作DOM,就像从一个岛到另外一个岛,过桥的时候,每次都要收取过桥费,尽量减少过桥的次数.列如: for循环插入到页面5000个LI: 应该 先用一个变量存 5000个li,然后一次插入. ...
- mysql的一些特殊命令
mysql命令行工具的编辑技巧 从mysql performace blog 中学到的: 1. pager 例子 mysql> pager more PAGER set to 'more' my ...
- 为什么说Neutron不是SDN?
http://vuejs.com.cn/ 这里面有个canvans 画图的js 代码.有意思,研究一下. Neutron 介绍:https://www.ibm.com/developerworks/c ...
- CodeForces 610B Vika and Squares
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using ...
- JQuery常用动画实现函数
1.上拉.下拉和切换 slideup().slidedown().slideToggle() JQuery里面的切换太吊了,它自带判断当前显示状态,如果为显示就执行隐藏,如果为隐藏就执行显示. 2.淡 ...
- c语言基础编程
作业: 1.二进制,八进制,十进制之间的相互转换 2.测试转义字符 3.测试强制类型转换 4.测试赋值运算符 = += -= *= /= %= <<= >>= ^= |= & ...
- ICE BOX 配置,使用----第一篇
一 理论部分 (1) 为什么要使用icebox? icebox server代替了通常的server. icebox是为了方便集中管理多个ice服务而建立的. 它通过使用icebox服务器,把ice服 ...