image.png
显示时间主要使用两个控件TextClock
和AnalogClock
TextClocks是以数字时钟的形式显示. AnalogClock是模拟时钟.
TextClocks是数字时钟,就是通过文本来显示时钟.只需要添加上控件即可,基本不用编写代码.
xml
文件中添加:
<TextClock
android:id="@+id/textclock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#f0f"
android:textSize="10pt"
android:format12Hour="yyyy年MM月dd日HH:mm:ss EEEE" />
其中:
android:textColor
是指定显示的文字颜色.
android:textSize
是指定显示的文字的大小.
android:format12Hour
是指定时钟显示的文字格式.当然这个是以12小时来显示,还有以24小时来显示的android:format24Hour
.
注意: 设置显示的文字格式示例:
格式 | 显示内容 |
---|---|
"MM/dd/yy h:mmaa" | "04/06/70 3:23am" |
"MMM dd, yyyy h:mmaa" | "Apr 6, 1970 3:23am" |
"MMMM dd, yyyy h:mmaa" | "April 6, 1970 3:23am" |
"E, MMMM dd, yyyy h:mmaa" | "Mon, April 6, 1970 3:23am& |
"EEEE, MMMM dd, yyyy h:mmaa" | "Monday, April 6, 1970 3:23am" |
"'Noteworthy day: 'M/d/yy" | "Noteworthy day: 4/6/70" |
其他:
android:timeZone
是指定要使用的时区
image.png
AnalogClock是模拟时钟,继承了view类,重写了OnDraw函数实现显示时钟.
使用时,在xml
文件中添加:
<AnalogClock
android:layout_width="match_parent"
android:layout_height="match_parent" />
运行后效果:
image.png
下面来修改三个属性来设定模拟时钟的效果.
属性 | 描述 |
---|---|
android:dial | 模拟时钟的表背景。 |
android:hand_hour | 模拟时钟的表时针。 |
android:hand_minute | 模拟时钟的表分针。 |
根据需求设定这两个属性:
<AnalogClock
android:layout_width="match_parent"
android:layout_height="match_parent"
android:dial="@drawable/timg"
android:hand_minute="@drawable/handle" />
image.png
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextClock
android:id="@+id/textclock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#f0f"
android:textSize="10pt"
android:format12Hour="yyyy年MM月dd日HH:mm:ss EEEE" />
<TextClock
android:id="@+id/textclock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#f0f"
android:textSize="10pt"
android:format12Hour="yyyy年MM月dd日HH:mm:ss EEEE" />
<AnalogClock
android:layout_width="match_parent"
android:layout_height="match_parent"
android:dial="@drawable/timg"
android:hand_minute="@drawable/handle" />
</android.support.constraint.ConstraintLayout>