Как я могу правильно реализовать средство выбора диапазона дат материала?

Я реализую средство выбора диапазона дат с этой библиотекой материалов.

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"/>

Тем не менее, он показывает странный вид. Как я могу это исправить? я хочу диалог

введите здесь описание изображения


person c-an    schedule 06.04.2020    source источник


Ответы (1)


Вы должны использовать Тема Material Components в качестве темы приложения.
В любом случае, если вы используете:

.setTheme(R.style.DatePickerTheme)

вы должны определить тему, например:

  <style name="DatePickerTheme"
           parent="ThemeOverlay.MaterialComponents.MaterialCalendar" >
       ....
  </style>
person Gabriele Mariotti    schedule 28.05.2020