如何正确实施物料日期范围选择器?

时间:2020-04-06 15:31:39

标签: android date android-datepicker

我正在使用此材料库实现Date Range Picker。

implementation "com.google.android.material:material:1.2.0-alpha05"

这就是我实现的。

btn_calendar.setOnClickListener {
    val builder = MaterialDatePicker
        .Builder
        .dateRangePicker()
        .setTheme(R.style.DatePickerTheme)
//                .setTitleText("Select dates")
//                .build()

    val now = Calendar.getInstance()

    val picker = builder.build()
    builder.setSelection(androidx.core.util.Pair(now.timeInMillis, now.timeInMillis))
    picker.show(supportFragmentManager, picker.toString())

    picker.addOnPositiveButtonClickListener {
        Toast.makeText(this, "Date String = ${picker.headerText}::  Date epoch values::${it.first}:: to :: ${it.second}", Toast.LENGTH_SHORT).show()
    }
}

样式是:

<style name="DatePickerTheme" parent="Theme.MaterialComponents"/>

但是,它显示了奇怪的视图。我怎样才能解决这个问题?我要对话

enter image description here

1 个答案:

答案 0 :(得分:0)

您应该使用Material Components Theme作为应用主题。
无论如何,如果您使用的是:

.setTheme(R.style.DatePickerTheme)

您应该定义一个主题,例如:

  <style name="DatePickerTheme"
           parent="ThemeOverlay.MaterialComponents.MaterialCalendar" >
       ....
  </style>