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

问题描述 投票:0回答:1

我正在使用此材料库实现日期范围选择器。

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

android date android-datepicker
1个回答
0
投票

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

.setTheme(R.style.DatePickerTheme)

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

  <style name="DatePickerTheme"
           parent="ThemeOverlay.MaterialComponents.MaterialCalendar" >
       ....
  </style>
© www.soinside.com 2019 - 2024. All rights reserved.