在前面一期,我们学习了DatePicker和TimePicker,在实际开发中其不能完全满足我们对时间和日期的处理。
如果只是想要显示时间,而不需要用户修改,就可以使用DigitalClock和AnalogClock时钟组件,这2个组件非常有用,使用起来也非常简单,其值可以随时间自动更新。
一、AnalogClock
首先来一起学习AnalogClock组件。AnalogClock继承的是View,实际开发中可重写OnDraw方法。
AnalogClock的XML有3个属性,分别如下:
· android:dial:模拟时钟的表背景。
· android:hand_hour:模拟时钟的表时针。
· android:hand_minute:模拟时钟的表分针。
可以使用系统默认的,也可以自定义图片资源。
接下来通过一个简单的示例程序来学习AnalogClock的使用。
继续使用WidgetSample工程的advancedviewsample模块,首先下载一张表盘图片放在drawable目录,然后在app/main/res/layout/目录下创建analogclock_layout.xml文件,在其中填充如下代码片段:
[代码]xml代码:
01 02 03 04 05 06 07 08 09 10 |
|
修改MainActivity里面的代码,加载上述定义的布局文件,然后运行程序,可以看到下图所示界面效果。
二、DigitalClock
AnalogClock是一个表盘格式的模拟时钟,而DigitalClock为数字时钟。DigitalClock继承的是TextView,它本身是一个文本框。
接下来通过一个简单的示例程序来学习DigitalClock的使用。
仍然使用WidgetSample工程的advancedviewsample模块,在app/main/res/layout/目录下创建digitalclock_layout.xml文件,在其中填充如下代码片段:
[代码]xml代码:
01 02 03 04 05 06 07 08 09 10 11 12 13 |
|
修改MainActivity里面的代码,加载上述定义的布局文件,然后运行程序,可以看到下图所示界面效果。
三、TextClock
DigitalClock从API 17开始就已经过时了,建议使用新组件TextClock。TextClock的功能更加强大,它不仅能显示时间,还能显示日期;而且支持自定义格式。
TextClock提供了两种不同的格式,一种是在24进制中显示时间和日期,另一种是在12进制中显示时间和日期。
TextClock主要有以下几个XML属性:
· android:format12Hour:设置12时制的格式
· android:format24Hour:设置24时制的格式
· android:timeZone:设置时区。
TextClock的主要方法有:
· getFormat12Hour():在12进制模式中返回时间模式。
· getFormat24Hour():在24进制模式中返回时间模式。
· getTimeZone():返回正在使用的时区。
· is24HourModeEnabled():检测系统当前是否使用24进制。
· setFormat24Hour(CharSequence format):设置24时制的格式。
· setFormat12Hour(CharSequence format):设置12时制的格式。
· setTimeZone(String timeZone):设置时区。
接下来通过一个简单的示例程序来学习TextClock的使用。
仍然使用WidgetSample工程的advancedviewsample模块,在app/main/res/layout/目录下创建textclock_layout.xml文件,在其中填充如下代码片段:
[代码]xml代码:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 |
|
其中format同Java里面学习的SimpleDateFormat类一样。android:fontFamily=”sans-serif-light”用于设置安卓字体。
修改MainActivity里面的代码,加载上述定义的布局文件,然后运行程序,可以看到所示界面效果。
今天就先到这里,如果有问题欢迎留言一起探讨,也欢迎加入Android零基础入门技术讨论微信群,共同成长!
共同学习,写下你的评论
评论加载中...
作者其他优质文章