Material DatePicker 禁用年份选项

     2023-02-22     37

关键词:

【中文标题】Material DatePicker 禁用年份选项【英文标题】:Material DatePicker Disable year option 【发布时间】:2022-01-16 10:54:10 【问题描述】:

我有以下代码:

private void openDatePicker() 
    MaterialDatePicker picker =
            MaterialDatePicker.Builder.datePicker()
                    .setTitleText("Select date")
                    .setTheme(R.style.DatePickerTheme)
                    .setSelection(MaterialDatePicker.todayInUtcMilliseconds())
                    .build();
    picker.show(getParentFragmentManager(),"tag");
    picker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener() 
        @Override
        public void onPositiveButtonClick(Object selection) 
            try 
                mtnRecDate.setText(sdf.format(selection));
             catch (Exception e) 
                FancyToast.makeText(getContext(),"Setting Date failed!",FancyToast.LENGTH_LONG,FancyToast.ERROR,false).show();
            

        
    );

风格:

<!-- Picker styles and themes. -->
<style name="DatePickerTheme" parent="@style/ThemeOverlay.MaterialComponents.MaterialCalendar">
    <item name="materialCalendarStyle">@style/Widget.MaterialComponents.MaterialCalendar</item>
    <item name="materialCalendarFullscreenTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar.Fullscreen</item>
    <item name="materialCalendarTheme">@style/Widget.MaterialComponents.MaterialCalendar.MonthNavigationButton</item>
    <item name="materialCalendarMonthNavigationButton">@style/Widget.MaterialComponents.MaterialCalendar.MonthNavigationButton</item>
</style>

我正在尝试隐藏年份选项:

它应该看起来更像这样:

我怎样才能做到这一点。我尝试更改样式主题(见上文),但毫无结果。

【问题讨论】:

【参考方案1】:

您可以查看this 文档。

如下面提到的谷歌文档代码可以满足您的意图:

<style name="Theme.App" parent="Theme.MaterialComponents.*">
...
<item name="materialCalendarTheme">@style/ThemeOverlay.App.DatePicker</item>
</style>

<style name="ThemeOverlay.App.DatePicker" 
parent="@style/ThemeOverlay.MaterialComponents.MaterialCalendar">
<item name="colorPrimary">@color/shrine_pink_100</item>
<item name="colorOnPrimary">@color/shrine_pink_900</item>
<item name="shapeAppearanceSmallComponent">@style/ShapeAppearance.App.SmallComponent</item>
<item name="shapeAppearanceMediumComponent">@style/ShapeAppearance.App.MediumComponent</item>
<!-- Customize text field of the text input mode. -->
<item name="textInputStyle">@style/Widget.App.TextInputLayout</item>

所以你应该将你的样式从 MaterialCalendar 更改为 DatePicker。

【讨论】:

在 Angular 5 的 Datepicker Material 中仅选择年份和月份

】在Angular5的DatepickerMaterial中仅选择年份和月份【英文标题】:ChooseonlyyearandmonthinDatepickerMaterialforAngular5【发布时间】:2018-07-0514:36:16【问题描述】:我使用材质(https://material.angular.io/components/datepicker/overview)作为角度5。我们可... 查看详情

如何从日期数组中禁用 Angular Material Datepicker 日期?

】如何从日期数组中禁用AngularMaterialDatepicker日期?【英文标题】:HowtodisableAngularMaterialDatepickerdatesfromanarrayofdates?【发布时间】:2020-05-1911:12:33【问题描述】:我有一个日期数组,我想使用AngularMaterial的Datepicker禁用这些日期,我... 查看详情

在 Datepicker (material-ui) 上更改格式日期

】在Datepicker(material-ui)上更改格式日期【英文标题】:ChangeformatdateonDatepicker(material-ui)【发布时间】:2019-07-3121:22:44【问题描述】:我想更改DatePicker(material-ui-pickers)上的日期格式,但是当我使用formatDate功能时,日期格式没有改变... 查看详情

将 Jquery 升级到 3.4 后,Material js 单选按钮禁用不起作用?

】将Jquery升级到3.4后,Materialjs单选按钮禁用不起作用?【英文标题】:MaterialjsradiobuttondisablenotworkingafterupgradingJqueryto3.4?【发布时间】:2020-10-1621:05:33【问题描述】:我已将jquery版本升级到3.4和material.js版本1.1.0。将jquery版本升级... 查看详情

利用my97datepicker实现年份多选(代码片段)

...说年份的多选的事件了。笔者也不愿多做深究,既然My97DatePicker可以定义选择年份,何不简单的改写改写它。笔者秉着这个思路,继续往皮毛之下探索。先看一下My97DatePicker的习性,俗语讲知己知彼,是吧。这个插件调用之后会... 查看详情

Datepicker 的动态年份范围

】Datepicker的动态年份范围【英文标题】:DynamicyearrangeforDatepicker【发布时间】:2018-06-0915:09:53【问题描述】:我正在使用Datepicker来选择到期日期。我希望我的日期选择器有年份选项:当我们加载日期选择器时,它的年份选项应... 查看详情

javafx datepicker如何自定义

】javafxdatepicker如何自定义【英文标题】:DatePicker:howtocustomize【发布时间】:2014-12-0710:46:23【问题描述】:我有日期选择器的简单代码,它会禁用所选日期之前的所有日期,但我还需要能够禁用其他日期(例如:17.10.2014到19.10.201... 查看详情

antdrangepicker/datepicker动态满足多个条件禁用(代码片段)

需求:可选今日之前的时间开始和结束时间区间不能超过30天代码:dom部分<RangePickerallowCleardisabledDate=disabledDateformat='YYYY-MM-DD'placeholder=['起始日期','结束日期']onCalendarChange&# 查看详情

在编辑模式下,Material-ui/DatePicker 中未填充日期

】在编辑模式下,Material-ui/DatePicker中未填充日期【英文标题】:IneditmodeDateisnotpopulatinginmaterial-ui/DatePicker【发布时间】:2018-11-2912:10:45【问题描述】:importDatePickerfrom\'material-ui/DatePicker\';我正在使用DatePicker组件this.state=contractDate:... 查看详情

Jquery datepicker 年份变化

】Jquerydatepicker年份变化【英文标题】:Jquerydatepickeryearschange【发布时间】:2011-11-1509:05:15【问题描述】:我正在使用jquery的datepicker作为字段来设置出生日期,同时显示默认选择器,它提供了每月滚动到日期的选项,听起来很乏... 查看详情

jQuery UI - Datepicker - 隐藏年份

】jQueryUI-Datepicker-隐藏年份【英文标题】:jQueryUI-Datepicker-Hideyear【发布时间】:2010-04-2311:14:30【问题描述】:我正在使用jQueryUI1.8,我想在弹出窗口和文本框中对用户隐藏年份。本质上,我希望用户只选择日和月,而不是选择日... 查看详情

Material UI:如何在 DatePicker 之外使用 DatePickerDialog?

】MaterialUI:如何在DatePicker之外使用DatePickerDialog?【英文标题】:MaterialUI:HowtouseDatePickerDialogoutsideofDatePicker?【发布时间】:2016-10-3008:25:25【问题描述】:是否可以在没有DatePicker的情况下使用DatePickerDialog?我想这样做的原因是,... 查看详情

javascript月份和年份datepicker(代码片段)

查看详情

如何在输入 Bootstrap Datepicker 中仅显示年份?

】如何在输入BootstrapDatepicker中仅显示年份?【英文标题】:HowdisplayonlyyearsininputBootstrapDatepicker?【发布时间】:2012-10-1904:26:23【问题描述】:我使用以下代码只显示年份:$("#datepicker").datepicker(viewMode:"years",minViewMode:"years");但输入... 查看详情

Material UI Autocomplete - 禁用键盘输入(在移动设备上)

】MaterialUIAutocomplete-禁用键盘输入(在移动设备上)【英文标题】:MaterialUIAutocomplete-disablekeyboardinput(onmobile)【发布时间】:2020-10-2920:26:36【问题描述】:我正在使用带有多选功能的MaterialUIAutocomplete组件。它在桌面上运行良好,... 查看详情

DatePicker 不设置年份,除非当原始年份超出下拉范围时显式更改下拉列表

】DatePicker不设置年份,除非当原始年份超出下拉范围时显式更改下拉列表【英文标题】:DatePickernotsettingYearunlessdropdownischangedexplicitlywhenoriginalYearisoutsidedropdownrange【发布时间】:2021-06-2717:08:09【问题描述】:我已经使用以下代码... 查看详情

如何仅在 Flutter 的 datepicker 中显示年份?

】如何仅在Flutter的datepicker中显示年份?【英文标题】:HowtoonlydisplaytheyearindatepickerforFlutter?【发布时间】:2020-09-1306:08:16【问题描述】:我希望程序只要求用户输入年份。但如您所知,日期选择器要求提供完整的日期,包括月份... 查看详情

antdrangepicker/datepicker动态满足多个条件禁用(代码片段)

需求:可选今日之前的时间开始和结束时间区间不能超过30天代码:dom部分<RangePickerallowCleardisabledDate=disabledDateformat='YYYY-MM-DD'placeholder=['起始日期','结束日期']onCalendarChange=onDateChangeonOpenChang... 查看详情