TextClock
继承 TextView ,使用方法和 TextView 一样。
它专门用于显示数字时钟,可以自定义显示格式。
只要在布局文件里添加,它会自动更新时间,不需要添加刷新逻辑。
布局文件,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="未设置Format:"
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextClock
android:id="@+id/textclock0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#4B5C92"
android:textSize="30sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="yyyy/MM/dd EEEE HH:mm:ss : "
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextClock
android:id="@+id/textclock1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:format12Hour="yyyy/MM/dd EEEE hh:mm:ss"
android:format24Hour="yyyy/MM/dd EEEE HH:mm:ss"
android:textColor="#4B5C92"
android:textSize="30sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="yyyy/M/dd EEE HH:mm:ss : "
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextClock
android:id="@+id/textclock2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:format12Hour="yyyy/M/dd EEE hh:mm:ss"
android:format24Hour="yyyy/M/dd EEE HH:mm:ss"
android:textColor="#4B5C92"
android:textSize="30sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MM dd EEEE HH:mm : "
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextClock
android:id="@+id/textclock3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:format12Hour="MM dd EEEE hh:mm"
android:format24Hour="MM dd EEEE HH:mm"
android:textColor="#4B5C92"
android:textSize="30sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MMM dd EEE HH:mm :"
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextClock
android:id="@+id/textclock4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:format12Hour="MMM dd EEE HH:mm"
android:format24Hour="MMM dd EEE HH:mm"
android:textColor="#4B5C92"
android:textSize="30sp" />
</LinearLayout>
</LinearLayout>
实际效果,
中文,24小时制
总结:
如果不设置 android:format12Hour 、android:format24Hour ,默认以 12:48 格式显示。
如果设置了 format ,参考表格
格式 | 效果 |
---|---|
yyyy/M/dd | 2024/6/25 |
yyyy/MM/dd | 2024/06/25 |
MMM | 6月 |
EEE | 中文显示周几;英文显示星期缩写,如 Thu |
EEEE | 中文显示星期几;英文显示星期完整拼写,如 Thurday |
HH:mm:ss | 15:32:16 |
hh:mm:ss | 03:32:16 |
a | 是否显示 AM/PM |