DigitalClock的替代者TextClock

简介: DigitalClock在API 17(Android4.2)中就被官方定义为过时的方法,很奇怪为什么现在很多的网上的帖子都介绍DigitalClock方法的使用(已经过时),如果你想让自己的应用在高版本中进行使用的话,建议采用TextClock,为什么呢?下面简单介绍一下TextClock。

DigitalClock在API 17(Android4.2)中就被官方定义为过时的方法,很奇怪为什么现在很多的网上的帖子都介绍DigitalClock方法的使用(已经过时),如果你想让自己的应用在高版本中进行使用的话,建议采用TextClock,为什么呢?下面简单介绍一下TextClock。

 

TextClock可以以字符串格式显示当前的日期和时间,这个控件推荐在24进制的android系统中使用,TextClock提供了两种不同的格式,一种是在24进制中显示时间和日期,另一种是在12进制中显示时间和日期。大部分人喜欢默认的设置。

怎样判断系统现在正在使用24进制的时间显示模式呢?可以通过调用TextClock提供的is24HourModeEnabled()方法来查看,比如:

TextClock tc=(TextClock)findViewById(R.id.tc);
if(tc.is24HourModeEnabled()){
Log.d("测试","24进制")
}


在24进制模式中:

1、如果没获取时间,首先通过getFormat24Hour()返回值;

2、获取失败则通过getFormat12Hour()获取返回值;

3、以上都获取失败则使用默认;

TextClock控件包含的XML属性:

1、继承自TextView的属性

2、继承自android.view.View属性

3、自有属性(android:format12Hour  android:format24Hour android:timeZone)

其中android:format12Hour对应TextClock的setFormat12Hour(CharSequence)方法,android:format24Hour对应setFormat24Hour(CharSequence)方法,android:timeZone对应setTimeZone(String)方法。

CharSequence在这不深入研究了,只做一个简单的简介,包含以下几种public方法:

charAt(int index)、length()、subSequence(int start,int end)、toString()。

看方法的名称应该就知道什么意思,一般讲CharSequence值设置为yyyy-MM-dd hh:mm ,即显示四位数年,两位数月,两位数日,和小时分钟。

注意是String类型。

 

下面回到正题,TextClock存在的Public方法是:

1、getFormat12Hour(),返回值CharSequence。在12进制模式中返回时间模式

2、getFormat24Hour(),返回值CharSequence。在24进制模式中返回时间模式

3、getTimeZone,返回值String。返回正在使用的时区。

4、is24HourModeEnabled(),返回值Boolean。检测系统当前是否使用24进制

5、setFormat12Hour(CharSequence format),无返回值。

6、setFormat12Hour(CharSequence format),无返回值。

7、setTimeZone(String timeZone),无返回值。

 

希望可以给大家提供参考。

 

 

目录
相关文章
|
存储 负载均衡 NoSQL
MongoDB·最佳实践·count不准原因分析
背景 一般来说,除了由于secondary延迟可能造成查询secondary节点数据不准以外,关于count的准确性问题,在MongoDB4.0官方文档中有这么一段话On a sharded cluster, db.
|
JavaScript 前端开发 API
js全屏,监听页面是否全屏
js全屏,监听页面是否全屏
309 4
|
XML API 网络安全
【安卓】在安卓中使用HTTP协议的最佳实践
【安卓】在安卓中使用HTTP协议的最佳实践
369 4
|
Java Maven Android开发
【Azure Developer】VS Code打包Java maven Project 遇见 BUILD FAILURE
Unknown lifecycle phase "lean". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>
240 5
|
安全 网络协议 网络安全
应用层常见的协议有哪些?
应用层常见的协议有哪些?
2557 1
|
编解码 Android开发
Android 屏幕适配
Android 屏幕适配
284 4
|
机器学习/深度学习 人工智能 运维
智能化运维的崛起:自动化与人工智能在IT管理中的融合
本文深入探讨了智能化运维在现代企业中的重要性,并分析了自动化技术和人工智能(AI)如何共同推动IT运维管理的革新。文章首先概述了传统运维面临的挑战,然后详细介绍了智能化运维的核心概念和实施步骤,最后通过具体案例展示了智能化运维在实际工作中的应用效果和潜在价值。
364 0
|
存储 Linux API
解析音频输出调节音量的原理以及调节的方法
解析音频输出调节音量的原理以及调节的方法
1618 0
|
API C#
C# 企业微信消息推送对接
C# 企业微信消息推送对接
1284 0
C# 企业微信消息推送对接
|
Java Android开发
Java中英文字母汉字混合字符长度值计算
Java中英文字母汉字混合字符长度值计算 String string = "phil安卓"; Logger.
3800 0