gpt4 book ai didi

android - MaterialDatePicker 显示当前日期而不是需要

转载 作者:行者123 更新时间:2023-12-03 13:27:30 34 4
gpt4 key购买 nike

使用 MaterialDatePicker我想显示所需的日期并有机会选择另一个。但是当出现 DatePicker 时,它会显示当前日期而不是指定日期。

我插入库:implementation 'com.google.android.material:material:1.2.0-alpha06' (或 1.1.0)。

然后覆盖 AppThemestyles.xml :

<style name="AppTheme" parent="Theme.MaterialComponents.Light">

现在可以显示 DatePicker。
val now = Calendar.getInstance()
now[Calendar.YEAR] = 2020
now[Calendar.MONTH] = 10
now[Calendar.DAY_OF_MONTH] = 1
val builder = MaterialDatePicker.Builder.datePicker()
builder.setSelection(now.timeInMillis)

val picker = builder.build()
fragmentManager?.let { picker.show(it, MaterialDatePicker::class.java.simpleName) }

这是一个结果。我想显示 11 月 1 日,但显示的是 5 月 7 日。

enter image description here

更新 1

如上链接所述,我们可以使用 CalendarConstraints.Builder :
...
val constraintsBuilder = CalendarConstraints.Builder()
constraintsBuilder.setStart(now.timeInMillis)
constraintsBuilder.setEnd(now.timeInMillis)

val builder = MaterialDatePicker.Builder.datePicker()
builder.setCalendarConstraints(constraintsBuilder.build())
builder.setSelection(now.timeInMillis)
...

这将显示所需的日期,我们可以选择另一天,但我们不能滚动月份。

enter image description here

更新 2

我想这是一个新的 Android DatePicker 的错误。所以我要选择知名库 https://github.com/wdullaer/MaterialDateTimePicker .它选择一个指定的日期,不需要更改原始主题。

enter image description here

最佳答案

您可以使用 方法设置选择器打开的月份。 constraintsBuilder.setOpenAt() .
如果在边界内,则默认值为当前月份,否则为边界内最早的月份:

CalendarConstraints.Builder constraintsBuilder = new CalendarConstraints.Builder();

LocalDateTime local = LocalDateTime.of(2020, 11, 1, 0, 0);
long openAt= local.atZone(ZoneId.ofOffset("UTC", ZoneOffset.UTC)).toInstant().toEpochMilli();
//you can also use Calendar.getInstance()...
constraintsBuilder.setOpenAt(openAt);

builder.setCalendarConstraints(constraintsBuilder.build());

您可以使用以下方式设置默认选择(默认为无选择):
builder.setSelection(....);

enter image description here

关于android - MaterialDatePicker 显示当前日期而不是需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61661948/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com