Most visited

Recently visited

Added in API level 17

TextClock

public class TextClock
extends TextView

java.lang.Object
   ↳ android.view.View
     ↳ android.widget.TextView
       ↳ android.widget.TextClock


TextClock可以将当前日期和/或时间显示为格式化的字符串。

该视图尊重24小时制系统设置。 因此,建议您提供两种不同的格式:一种以24小时模式显示日期/时间,另一种以12小时模式显示日期/时间。 大多数呼叫者会希望使用默认值,但这对用户的区域设置是适合的。

通过调用 is24HourModeEnabled()可以确定系统当前是否处于24小时模式。

这个小部件用来决定如何格式化日期和时间的规则如下:

在调用setFormat24Hour(CharSequence)setFormat12Hour(CharSequence)时用作格式化模式的CharSequence实例可以包含样式信息。 为此,请使用Spanned对象。 请注意,如果您自定义这些字符串,则您有责任提供适合用户格式化日期和/或时间的字符串。

Summary

XML attributes

android:format12Hour Specifies the formatting pattern used to show the time and/or date in 12-hour mode. 
android:format24Hour Specifies the formatting pattern used to show the time and/or date in 24-hour mode. 
android:timeZone Specifies the time zone to use. 

Inherited XML attributes

From class android.widget.TextView
From class android.view.View

Inherited constants

From class android.view.View

Fields

public static final CharSequence DEFAULT_FORMAT_12_HOUR

该字段在API级别18中已弃用。让系统使用适合区域设置的默认值。

public static final CharSequence DEFAULT_FORMAT_24_HOUR

该字段在API级别18中已弃用。让系统使用适合区域设置的默认值。

Inherited fields

From class android.view.View

Public constructors

TextClock(Context context)

使用当前语言环境的默认模式创建新时钟。

TextClock(Context context, AttributeSet attrs)

创建一个从XML扩展的新时钟。

TextClock(Context context, AttributeSet attrs, int defStyleAttr)

创建一个从XML扩展的新时钟。

TextClock(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)

Public methods

CharSequence getFormat12Hour()

返回用于在12小时模式下显示日期和/或时间的格式模式。

CharSequence getFormat24Hour()

返回用于以24小时模式显示日期和/或时间的格式模式。

String getTimeZone()

指示此视图当前使用哪个时区。

boolean is24HourModeEnabled()

指示系统当前是否正在使用24小时模式。

void setFormat12Hour(CharSequence format)

指定用于以12小时模式显示日期和/或时间的格式化模式。

void setFormat24Hour(CharSequence format)

指定用于以24小时模式显示日期和/或时间的格式化模式。

void setTimeZone(String timeZone)

设置在此时钟中使用的指定时区。

Protected methods

void onAttachedToWindow()

这在视图附加到窗口时被调用。

void onDetachedFromWindow()

这是在视图从窗口分离时调用的。

Inherited methods

From class android.widget.TextView
From class android.view.View
From class java.lang.Object
From interface android.view.ViewTreeObserver.OnPreDrawListener
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource

XML attributes

android:format12Hour

指定用于在12小时模式下显示时间和/或日期的格式化模式。 请参阅DateFormat以获取可接受格式模式的完整说明。 默认模式是“h:mm a”的语言环境适当的等效项。

必须是字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 format12Hour

相关方法:

android:format24Hour

指定用于以24小时模式显示时间和/或日期的格式化模式。 请参阅DateFormat了解可接受格式模式的完整说明。 默认模式是“H:mm”的语言环境适当的等效。

必须是字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符。

这也可以是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 format24Hour

相关方法:

android:timeZone

指定要使用的时区。 当指定此属性时,TextClock将忽略系统的时区。 要使用用户的时区,请不要指定此属性。 默认值是用户的时区。 有关时区ID的更多信息,请参阅TimeZone

必须是字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 timeZone

相关方法:

Fields

DEFAULT_FORMAT_12_HOUR

Added in API level 17
CharSequence DEFAULT_FORMAT_12_HOUR

此字段在API级别18中已被弃用。
让系统使用适合区域设置的默认值。

12小时模式下的默认格式模式。 如果使用空模式调用setFormat12Hour(CharSequence) ,或者在创建此类的实例时未指定模式,则使用此模式。 此默认模式仅显示时间,小时和分钟以及am / pm指标。

也可以看看:

DEFAULT_FORMAT_24_HOUR

Added in API level 17
CharSequence DEFAULT_FORMAT_24_HOUR

此字段在API级别18中已被弃用。
让系统使用适合区域设置的默认值。

24小时模式下的默认格式模式。 如果使用空模式调用setFormat24Hour(CharSequence) ,或者在创建此类的实例时未指定模式,则使用此模式。 此默认模式仅显示时间,小时数和分钟数。

也可以看看:

Public constructors

TextClock

Added in API level 17
TextClock (Context context)

使用当前语言环境的默认模式创建新时钟。

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.

TextClock

Added in API level 17
TextClock (Context context, 
                AttributeSet attrs)

创建一个从XML扩展的新时钟。 该对象的属性是从XML中指定的属性初始化的。 此构造函数使用默认样式0,因此所应用的唯一属性值是Context's Theme和给定AttributeSet中的值。

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.
attrs AttributeSet: The attributes of the XML tag that is inflating the view

TextClock

Added in API level 17
TextClock (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

创建一个从XML扩展的新时钟。 该对象的属性是从XML中指定的属性初始化的。

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.
attrs AttributeSet: The attributes of the XML tag that is inflating the view
defStyleAttr int: An attribute in the current theme that contains a reference to a style resource that supplies default values for the view. Can be 0 to not look for defaults.

TextClock

Added in API level 21
TextClock (Context context, 
                AttributeSet attrs, 
                int defStyleAttr, 
                int defStyleRes)

Parameters
context Context
attrs AttributeSet
defStyleAttr int
defStyleRes int

Public methods

getFormat12Hour

Added in API level 17
CharSequence getFormat12Hour ()

返回用于在12小时模式下显示日期和/或时间的格式模式。 格式化模式语法在DateFormat描述。

Returns
CharSequence A CharSequence or null.

也可以看看:

getFormat24Hour

Added in API level 17
CharSequence getFormat24Hour ()

返回用于以24小时模式显示日期和/或时间的格式模式。 格式化模式语法在DateFormat描述。

Returns
CharSequence A CharSequence or null.

也可以看看:

getTimeZone

Added in API level 17
String getTimeZone ()

指示此视图当前使用哪个时区。

Returns
String The ID of the current time zone or null if the default time zone, as set by the user, must be used

也可以看看:

is24HourModeEnabled

Added in API level 17
boolean is24HourModeEnabled ()

指示系统当前是否正在使用24小时模式。 当系统处于24小时模式时,此视图将使用由getFormat24Hour()返回的getFormat24Hour() 在12小时模式下,将使用由getFormat12Hour()返回的模式。 如果其中任何一种格式为空,则使用其他格式。 如果两种格式都为空,则使用当前语言环境的默认格式。

Returns
boolean true if time should be displayed in 24-hour format, false if it should be displayed in 12-hour format.

也可以看看:

setFormat12Hour

Added in API level 17
void setFormat12Hour (CharSequence format)

指定用于以12小时模式显示日期和/或时间的格式化模式。 格式化模式语法在DateFormat描述。

如果此模式设置为空,则即使在12小时模式下也将使用getFormat24Hour() 如果将24小时格式和12小时格式设置为空,则将使用当前语言环境的默认格式。

注意:如果不需要样式,强烈建议您提供由getBestDateTimePattern(java.util.Locale, String)生成的格式字符串。 此方法负责生成适用于所需语言环境的格式字符串。

相关XML属性:

Parameters
format CharSequence: A date/time formatting pattern as described in DateFormat

也可以看看:

setFormat24Hour

Added in API level 17
void setFormat24Hour (CharSequence format)

指定用于以24小时模式显示日期和/或时间的格式化模式。 格式化模式语法在DateFormat描述。

如果此模式设置为空,则即使在12小时模式下也会使用getFormat24Hour() 如果将24小时格式和12小时格式设置为空,则将使用当前语言环境的默认格式。

注意:如果不需要样式,强烈建议您提供由getBestDateTimePattern(java.util.Locale, String)生成的格式字符串。 此方法负责生成适用于所需语言环境的格式字符串。

相关XML属性:

Parameters
format CharSequence: A date/time formatting pattern as described in DateFormat

也可以看看:

setTimeZone

Added in API level 17
void setTimeZone (String timeZone)

设置在此时钟中使用的指定时区。 当通过此方法设置时区时,系统时区更改(例如,用户在设置中设置时区时)将被忽略。

相关XML属性:

Parameters
timeZone String: The desired time zone's ID as specified in TimeZone or null to user the time zone specified by the user (system time zone)

也可以看看:

Protected methods

onAttachedToWindow

Added in API level 17
void onAttachedToWindow ()

这在视图附加到窗口时被调用。 此时它有一个Surface并将开始绘制。 注意这个函数保证在onDraw(android.graphics.Canvas)之前被调用,但是它可以在第一次onDraw之前的任何时候调用 - 包括在onMeasure(int, int)之前或之后。

onDetachedFromWindow

Added in API level 17
void onDetachedFromWindow ()

这是在视图从窗口分离时调用的。 此时它不再有绘图表面。

Hooray!