1.使用线程动态刷新
<TextView
android:id="@+id/tv_Time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_gravity="center"
android:layout_marginBottom="@dimen/margin_medium"
android:text="时间"
android:textSize="@dimen/text_small"
android:textColor="@color/textBlue" />
/**
* 更新时间线程
*/
private void loadTimeThread() {
// 创建一个Handler对象,用于更新时间
timeHandler = new Handler();
// 创建一个Runnable对象,用于更新时间并更新UI
Runnable runnable = new Runnable() {
@Override
public void run() {
// 获取当前时间
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
// 将时间格式化为字符串
String time = String.format("%04d-%02d-%02d %02d:%02d:%02d", year, month, day, hour, minute, second);
// 更新TextView的文本
tvTime.setText(time);
// 每隔一秒钟更新一次时间
timeHandler.postDelayed(this, 1000);
}
};
// 启动更新时间的任务
timeHandler.post(runnable);
}
2.使用安卓内置TextClock
<TextClock
android:id="@+id/textClock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/margin_medium"
android:textSize="@dimen/text_small"
android:textColor="@color/textBlue"
android:layout_gravity="center"
android:format12Hour="yyyy-MM-dd hh:mm:ss"
/>
3.效果如下