一、基本概念
日期選擇是Android系統常用的UI組件之一,用於讓用戶選擇日期。
Android提供了DatePicker和CalendarView兩種日期選擇器,其中DatePicker是最常用的一種。
DatePicker可以讓用戶選擇年、月、日三個日期,同時也可以選擇一個通用的主題樣式。
二、DatePicker詳解
1、基本用法
<DatePicker
android:id="@+id/date_picker"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
這是一個基本的DatePicker控制項,用於讓用戶選擇日期。但默認情況下,用戶只能在公曆中選擇日期。
2、設置初始日期
// 設置初始日期為當前日期
DatePicker datePicker = findViewById(R.id.date_picker);
Calendar calendar = Calendar.getInstance();
datePicker.init(calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH), null);
可以使用DatePicker的init()方法來設置初始日期,其中需要傳入當前年月日的值。
3、設置最小日期和最大日期
// 設置最小日期為2020年1月1日
datePicker.setMinDate(1577808000000L);
// 設置最大日期為2021年12月31日
datePicker.setMaxDate(1640966399000L);
使用DatePicker的setMinDate()和setMaxDate()方法可以分別設置最小日期和最大日期,需要傳入時間戳值。
4、設置日期改變監聽器
datePicker.setOnDateChangedListener(new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
// 日期改變時執行的操作
}
});
可以使用DatePicker的setOnDateChangedListener()方法來設置日期改變的監聽器,在日期改變時執行相應的操作。
三、CalendarView詳解
1、基本用法
<CalendarView
android:id="@+id/calendar_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
這是一個基本的CalendarView控制項,用於展示日曆,用戶可以在上面滑動、點擊選中日期。
2、設置初始日期
// 設置初始日期為當前日期
CalendarView calendarView = findViewById(R.id.calendar_view);
calendarView.setDate(System.currentTimeMillis());
calendarView.setShowWeekNumber(false);
使用CalendarView的setDate()方法可以設置初始日期,需要傳入時間戳值。
setShowWeekNumber()方法是用於設置是否展示周數。
3、設置最小日期和最大日期
// 設置最小日期為2021年1月1日
calendarView.setMinDate(1609430400000L);
// 設置最大日期為2022年12月31日
calendarView.setMaxDate(1661980799000L);
使用CalendarView的setMinDate()和setMaxDate()方法可以分別設置最小日期和最大日期,需要傳入時間戳值。
4、設置日期改變監聽器
calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(@NonNull CalendarView view, int year, int month, int dayOfMonth) {
// 日期改變時執行的操作
}
});
可以使用CalendarView的setOnDateChangeListener()方法來設置日期改變的監聽器,在日期改變時執行相應的操作。
四、常用主題樣式
1、Material主題
<DatePicker
android:id="@+id/date_picker_material"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:datePickerMode="spinner"
android:theme="@style/DatePicker.Material" />
在DatePicker中使用android:theme屬性,可以設置Material主題樣式。
2、Holo主題
<DatePicker
android:id="@+id/date_picker_holo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:calendarViewShown="false"
android:spinnersShown="true"
android:theme="@android:style/Theme.Holo.Light" />
在DatePicker中使用android:theme屬性,可以設置Holo主題樣式。
五、總結
Android系統提供了DatePicker和CalendarView兩種日期選擇器,可以讓開發者輕鬆實現日期選擇功能。
DatePicker可以讓用戶選擇年、月、日三個日期,同時也可以選擇Material或Holo樣式主題;而CalendarView則可以展示日曆並支持滑動、點擊選中日期。
通過上述方法,開發者可以輕鬆地控制日期選擇器的最大最小日期、初始日期以及添加日期改變的監聽器等。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/254885.html