1. 程式人生 > >Android 彈出式佈局之DatePickerDialog、TimePickerDialog使用

Android 彈出式佈局之DatePickerDialog、TimePickerDialog使用

文章目錄


在說明 DatePickerDialogTimePickerDialog之前,我們先看看 DatePickerTimePicker,從名字可以發現,大的區別其實就是一個是佈局裡面,一個是浮動在佈局上的。

1、DatePicker

佈局檔案

 <DatePicker
	 android:id="@+id/datePicker"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_gravity="center" />

init方法使用,需要注意月份的傳入是從0開始

 datePicker.init(2018, 11, 11, new DatePicker.OnDateChangedListener() {
     @Override
     public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
     }
 });

常用的屬性

  • android:calendarViewShown:是否顯示日曆。
  • android:startYear:設定可選開始年份。
  • android:endYear:設定可選結束年份。
  • android:maxDate:設定可選最大日期,以mm/dd/yyyy格式設定。
  • android:minDate:設定可選最小日期,以mm/dd/yyyy格式設定。

展示效果
在這裡插入圖片描述

2、TimePicker

佈局檔案

<TimePicker
   android:id="@+id/timePicker"
   android:layout_width="match_parent"
   android:layout_height="wrap_content" />

常用的屬性

  • datePickeris24HourView():判斷是否為24小時制。
  • setIs24HourView():設定是否為24小時制顯示。
  • getCurrentXxx():獲取當前時間。
  • setCurrentXxx():設定當前時間。
  • setOnTimeChangedListener():設定時間被修改的回撥方法。

展示效果
在這裡插入圖片描述

3、DatePickerDialog

DatePickerDialog pickerDialog = new DatePickerDialog(MainActivity.this, 
		new DatePickerDialog.OnDateSetListener() {
    @Override
    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

    }
}, 2018, 11, 11);
pickerDialog.show();

在這裡插入圖片描述

4、TimePickerDialog

TimePickerDialog timePickerDialog = new TimePickerDialog(MainActivity.this,
        new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

            }
        }, 20, 33, true);
timePickerDialog.show();

在這裡插入圖片描述

通過小鍵盤可以切換為數字時鐘效果
在這裡插入圖片描述

5、AnalogClock(模擬時鐘)、DigitalClock(數字時鐘)兩個都已經過時了

6、TextClock (API17開始支援)

<TextClock
   android:id="@+id/textClock"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_marginTop="5dp"
   android:fontFamily="sans-serif-light"
   android:format12Hour="yyyy年MM月dd EE\naa hh:mm:ss"
   android:format24Hour="yyyy年MM月dd EE\naa HH:mm:ss"
   android:gravity="center_horizontal"
   android:textSize="26sp"
   android:textStyle="normal"
   tools:targetApi="jelly_bean_mr1" />

支援設定顯示格式,包括了日期時間設定