android - 在日期选择器对话框中隐藏月份和年份选择
解决方案
您可以使用MaterialDatePicker
材料组件库提供的。
除了隐藏月/年选择器之外,您还可以使用CalendarConstraints
.
long today = MaterialDatePicker.todayInUtcMilliseconds();
Calendar utc = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
utc.clear();
utc.setTimeInMillis(today);
utc.set(Calendar.DAY_OF_MONTH, 1);
long thisMonthFirst = utc.getTimeInMillis();
utc.set(Calendar.DATE, utc.getActualMaximum(Calendar.DATE));
long thisMonthLast = utc.getTimeInMillis();
MaterialDatePicker.Builder<Long> builder = MaterialDatePicker.Builder.datePicker();
builder.setSelection(today);
CalendarConstraints.Builder constraintsBuilder = new CalendarConstraints.Builder();
constraintsBuilder.setOpenAt(today);
constraintsBuilder.setStart(thisMonthFirst);
constraintsBuilder.setEnd(thisMonthLast);
builder.setCalendarConstraints(constraintsBuilder.build());
MaterialDatePicker<Long> picker = builder.build();
picker.show(getSupportFragmentManager(), picker.toString());
这样,选择仅限于当前月份,用户无法选择其他年份/月份。
您可以更改您的逻辑 ( utc.setTimeInMillis(today)
) 以使用另一个月份。
推荐阅读
- node.js - 使用 OpenTelemetry,我们如何将跟踪详细信息自动注入到用 Nodejs / Go 编写的应用程序日志中
- python - 谷歌搜索结果提取python
- sage - sage math:用步骤简化代数表达式
- sql - 存储在字符串中的 OPENQUERY 查询因 EXEC 而失败
- r - 根据 R 中另一列的 < 或 >= 数值创建非数值列
- php - 我可以在父构造函数中将对象动态转换为特定的子类吗?
- twig - ModuleNode 是否始终是 Twig 节点层次结构中的顶级节点?
- python - autopytoexe 和 Google 表格 UnknownApiNameOrVersion:名称:表格版本:v4
- c# - 高效查询多张表c#linq
- flutter - 如果存在 Dart 从字符串中删除第一个逗号