在Android中,TextClock組件用于顯示時間和其他日期/時間信息
<TextClock
android:id="@+id/text_clock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:format24Hour="HH:mm"
android:format12Hour="hh:mm a"
android:timeZone="GMT+8" />
這里,我們設置了24小時制格式(HH:mm)和12小時制格式(hh:mm a),時區為GMT+8。
import android.os.Bundle;
import android.widget.TextClock;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextClock textClock = findViewById(R.id.text_clock);
// 設置更新監聽器
textClock.setOnTimeChangedListener(new TextClock.OnTimeChangedListener() {
@Override
public void onTimeChanged(TextClock textClock, int hour, int minute) {
// 當時間發生變化時,此方法將被調用
updateTextClock(textClock);
}
});
// 初始化時更新TextClock
updateTextClock(textClock);
}
private void updateTextClock(TextClock textClock) {
// 獲取當前時間并更新TextClock
int hour = java.time.LocalTime.now().getHour();
int minute = java.time.LocalTime.now().getMinute();
textClock.setHours(hour);
textClock.setMinutes(minute);
}
}
在這個例子中,我們在onCreate
方法中獲取TextClock組件,并設置一個OnTimeChangedListener
。當時間發生變化時,這個監聽器會被調用,然后調用updateTextClock
方法來更新TextClock的時間。
注意:這個例子使用了Java 8的java.time
包來獲取當前時間。如果你使用的是更早的Android API版本(API 26以下),你可能需要使用Calendar
類或其他日期/時間庫來獲取當前時間。