Android Material組件庫(日期選擇和時間選擇器)基本使用

原文:Android Material組件庫(日期選擇和時間選擇器)基本使用 - Stars-One的雜貨小窩

簡單的封裝下Material組件裏的日期選擇器和時間選擇器的使用方法

效果

代碼

需要添加Material組件庫的依賴(不過後面新版本Android Studio創建的新項目都會有此依賴了...)

 implementation 'com.google.android.material:material:1.4.0'
private fun showTimeDialog(startDate: Date? = null) {
    val builder = MaterialTimePicker.Builder()
    //設置時間格式爲24小時制
    builder.setTimeFormat(TimeFormat.CLOCK_24H)

    startDate?.let {
        builder.setHour(it.hours)
        builder.setMinute(it.minutes)
    }

    val timePicker = builder.build()
    timePicker.apply {
        // 設置事件監聽器(當用戶選擇日期時觸發)
        addOnPositiveButtonClickListener {
            val hour = timePicker.hour
            val mintue = timePicker.minute

            val hourStr = if (hour>9) hour.toString() else "0$hour"
            val mintueStr = if (mintue>9) hour.toString() else "0$mintue"
            val timeStrText = "$hourStr:$mintueStr"

            //todo 選擇時間後的操作

        }
    }

    timePicker.show(supportFragmentManager, "DATE_PICKER_TAG")
}
private fun showDateDialog(startDate: Date? = null) {
    // 創建 Material 日曆選擇器實例
    val builder = MaterialDatePicker.Builder.datePicker()

    //設置默認選擇數據
    startDate?.let {
        builder.setSelection(it.time)
    }

    // 構建 Material 日曆選擇器
    val materialDatePicker = builder.build()
    materialDatePicker.apply {
        // 設置事件監聽器(當用戶選擇日期時觸發)
        addOnPositiveButtonClickListener {
            val date = Date(it)

            //todo 選擇時間後的操作
        }
    }

    materialDatePicker.show(supportFragmentManager, "DATE_PICKER_TAG")
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章