NUmeroAndDev / Knowledge

0 stars 0 forks source link

Material Components #2

Open NUmeroAndDev opened 4 years ago

NUmeroAndDev commented 4 years ago

Link

NUmeroAndDev commented 4 years ago

DataPicker

実装

MaterialDatePicker.Builder.datePicker().build().apply {
    addOnPositiveButtonClickListener { time ->
        // do something            
    }
}.show(supportFragmentManager, "Tag")

Builder

MaterialDatePicker#Builder で日付選択、範囲選択、カスタムを選択できる

試した内容

デフォルトの日付を渡して表示するには?

調査中

DateSelector の select にセットすればできそうだが、アクセスする方法が見当たらない…

全画面で表示するには?

materialCalendarFullscreenTheme の style を Builder#setTheme に渡す

MaterialDatePicker.Builder.datePicker()
                    .setTheme(R.style.ThemeOverlay_MaterialComponents_MaterialCalendar_Fullscreen)
                    .build()
// attr から取得してセットする方法もある

Header を変えるには?

Builder#setTitleTextResId に string のテキストリソースを渡す

DatePicker に表示させる範囲を限定するには?

CalendarConstraints に Start と End をセットする

MaterialDatePicker.Builder.datePicker()
                    .setCalendarConstraints(
                            CalendarConstraints.Builder().apply {
                                setStart(Month.create(2019, Calendar.JANUARY))
                                setEnd(Month.create(2019, Calendar.AUGUST))
                            }.build()
                    )
                    .build()

遭遇したバグ