如何仅显示月份和年份字段的 android 日期选择器?

     2023-05-07     146

关键词:

【中文标题】如何仅显示月份和年份字段的 android 日期选择器?【英文标题】:How to display date picker for android with only month and year fields? 【发布时间】:2011-05-06 14:15:46 【问题描述】:

我想禁用 android sdk 日期选择器上的日期选择选项。任何简单的 xml 配置都是最好的

【问题讨论】:

你有没有尝试过?您是否使用搜索引擎搜索过解决方案? 我确实做到了,发现人们说这是不可能的,这不是真的,但我对如何推进这一点并没有明确的想法,但它是可能的。谢谢 【参考方案1】:

我刚刚发布了一个新的日期选择器框架,它允许您创建自定义日期选择器。我还提供了一些示例日期选择器,例如您正在寻找的日期选择器。希望它对你有用。

代码可以在这里找到:https://github.com/bendemboski/DateSlider

2014 年 6 月更新: 这个库是 2010 年开发的,自 2011 年以来一直无人维护。所以它现在很可能已经过时了。

【讨论】:

自定义日期选择器是 a-w-s-o-m-e 哦,维护 Wordpress 页面的乐趣...我更新了指向 GitHub 存储库的链接 它仍然相关吗?您能否更新项目以支持 gradle 和 android studio? 它可能不再相关了。该项目是在 Android 2.3 新版本时开发的。并且从那以后一直没有更新。所以希望有更好的解决方案。我不再开发 android 应用程序,所以我完全不了解现代实践。 =/【参考方案2】:

可以使用反射破解 DatePicker 实例。这样,您就可以访问代表 DatePicker 中日期的 NumberPicker 实例:

datePicker = (DatePicker) findViewById(R.id.expiration_date);
try 
    Field f[] = datePicker.getClass().getDeclaredFields();
    for (Field field : f) 
        if (field.getName().equals("mDayPicker")) 
            field.setAccessible(true);
            Object dayPicker = new Object();
            dayPicker = field.get(datePicker);
            ((View) dayPicker).setVisibility(View.GONE);
        
    
 catch (SecurityException e) 
    Log.d("ERROR", e.getMessage());
 
catch (IllegalArgumentException e) 
    Log.d("ERROR", e.getMessage());
 catch (IllegalAccessException e) 
    Log.d("ERROR", e.getMessage());

【讨论】:

这对我有用。请注意,我必须将 mDayPicker 更改为 mDaySpinner。我不确定在哪个 API 级别引入了此更改,但我现在正在为 android 4.0.3 构建。 这可能在 Android 5.0 及更高版本中被破坏,因为 DatePicker 不再使用这些数字选择器! 在 Android 6 上,字段为 mDelegate、LOG_TAG、MODE_CALENDAR、MODE_SPINNER。该解决方案对我不起作用。【参考方案3】:

说到反射,这适用于 Android 4.4.2 SDK

"mDaySpinner"

改为

"mDayPicker"

【讨论】:

【参考方案4】:

我认为这是最好的解决方案

  datePicker.findViewById(Resources.getSystem().getIdentifier("day", "id", "android")).setVisibility(View.GONE);

【讨论】:

【参考方案5】:

编辑:根据下面的评论,我不会再关注这个答案了。

我认为您不能使用默认日期选择器来做到这一点。您必须使用基本的 Android UI 元素来创建它。但是,与其去那个麻烦,不如使用更好的库元素,比如这个漂亮的 iPhone 式***:http://code.google.com/p/android-wheel/我还没有使用它,但我打算!

【讨论】:

这在 2011 年 1 月是不错的建议,但如果你现在正在阅读这篇文章,我建议不要使用模仿 iOS 的库。谷歌不喜欢这样:developer.android.com/design/patterns/pure-android.html 用户也不喜欢这样【参考方案6】:

这在 2.2 版本中运行良好。但是对话框的标题没有改变。

for (Field datePickerDialogField : datePickerDialogFields)            

    if (datePickerDialogField.getName().equals("mDatePicker")) 
        datePickerDialogField.setAccessible(true);
        DatePicker datePicker = (DatePicker) datePickerDialogField.get(datePickerDialog);

        Field datePickerFields[] = datePickerDialogField.getType().getDeclaredFields();

        for (Field datePickerField : datePickerFields) 

            if ("mDayPicker".equals(datePickerField.getName())) 
                datePickerField.setAccessible(true);
                Object dayPicker = new Object();
                dayPicker = datePickerField.get(datePicker);
                ((View) dayPicker).setVisibility(View.GONE);
            
        
    

【讨论】:

【参考方案7】:

您可以使用 https://github.com/SimonVT/android-datepicker 小部件来实现向后移植的兼容性,并使日期选择器“消失”

<net.simonvt.numberpicker.NumberPicker
        android:id="@+id/day"
        android:layout_
        android:layout_
        android:layout_marginLeft="16dip"
        android:layout_marginRight="16dip"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:visibility="gone"
        />

【讨论】:

【参考方案8】:

隐藏日:

 datePicker.findViewById(Resources.getSystem().getIdentifier("day", "id", "android")).setVisibility(View.GONE);

&

隐藏月份:

datePicker.findViewById(Resources.getSystem().getIdentifier("month", "id", "android")).setVisibility(View.GONE);

【讨论】:

EXTJS 5 - 仅日期选择器年份和月份

...多(因为我发现了一些关于它的主题),但我仍然不知道如何通过仅显示月份和年份来呈现日期选择器。我想我可以这样做:创建我自己的cuctom组件(但我认为我对Extjs的了解还不足以创建一个显示月份和年份的组件,并且在单... 查看详情

如何按日期汇总 Django 模型字段并根据当前月份和年份显示总计

】如何按日期汇总Django模型字段并根据当前月份和年份显示总计【英文标题】:HowCanISumDjangoModelsFieldbyDatesandDisplayTotalsbaseonCurrentMonthandYear【发布时间】:2021-10-2208:56:33【问题描述】:我是pythonDjango框架的新手,我希望有人能帮助... 查看详情

如何将 jQuery 日期选择器转换为仅选择月份和年份?

】如何将jQuery日期选择器转换为仅选择月份和年份?【英文标题】:HowtoconvertjQuerydatepickertoselectonlymonthandyear?【发布时间】:2013-12-2705:56:59【问题描述】:我尝试使用日期格式,它工作但也显示日期。我正在尝试一种仅选择月份... 查看详情

如何仅获取日期的年份和月份部分进行比较?

】如何仅获取日期的年份和月份部分进行比较?【英文标题】:Howtogetonlytheyearandmonthpartofadatetocompare?【发布时间】:2013-05-1021:44:56【问题描述】:在我的应用程序中,我想计算当前年份和月份相同的记录数。所以我的逻辑是将当... 查看详情

如何从 sqlalchemy 的日期字段中获取月份和年份?

】如何从sqlalchemy的日期字段中获取月份和年份?【英文标题】:HowtogetmonthandyearfromDatefieldinsqlalchemy?【发布时间】:2012-08-1815:25:20【问题描述】:结果应该是Date对象由于无法“删除”这一天,请将其设置为每月的第一天。只留下... 查看详情

仅显示月份和年份的 Django DateField 日历?

】仅显示月份和年份的DjangoDateField日历?【英文标题】:AcalenderforDjangoDateFieldthatonlyshowsmonthsandyears?【发布时间】:2011-01-1119:50:31【问题描述】:在django管理面板中,我目前有一个DateField,它显示了一个不错的Javascript日历,用于... 查看详情

在 Android DatePicker 中隐藏年份字段?

】在AndroidDatePicker中隐藏年份字段?【英文标题】:HideYearfieldinAndroidDatePicker?【发布时间】:2012-05-1105:29:34【问题描述】:我正在使用基本的DatePicker,我正在尝试弄清楚如何隐藏DatePickerDialog上的Year字段,以便仅显示月份和日期... 查看详情

如何在 iOS 中使用 DatePicker 仅接受月份和年份

】如何在iOS中使用DatePicker仅接受月份和年份【英文标题】:HowtoacceptonlyMonthandYearusingDatePickeriniOS【发布时间】:2015-12-1108:27:13【问题描述】:我正在使用swift构建一个应用程序,在该应用程序中,有一个字段用于接受借记卡的到... 查看详情

Wordpress - 如何仅显示存档列表中有帖子的年份和月份

】Wordpress-如何仅显示存档列表中有帖子的年份和月份【英文标题】:Wordpress-Howtoshowonlyyearsandmonthsthathavepostsinarchivelist【发布时间】:2015-02-1922:13:26【问题描述】:我有一个按年和月显示帖子的存档列表。但它显示了没有帖子的... 查看详情

如何显示多个项目,但每个项目仅显示年份和月份的最高值?

】如何显示多个项目,但每个项目仅显示年份和月份的最高值?【英文标题】:Howtodisplaymultipleitemsbutonlythehighestvaluesinyearandmonthforeach?【发布时间】:2021-08-3009:26:09【问题描述】:我有以下两张表:CREATEDATABASEIFNOTEXISTSspringbootdb;DRO... 查看详情

数据库中的样本仅使用日期和月份。不考虑年份[重复]

】数据库中的样本仅使用日期和月份。不考虑年份[重复]【英文标题】:Thesamplefromthedatabasebydateusingonlythedayandmonth.Nottakingintoaccounttheyear[duplicate]【发布时间】:2013-05-1809:26:26【问题描述】:我有一个数据库,我们称之为“mydb”。... 查看详情

Django SelectDateWidget 仅显示月份和年份

】DjangoSelectDateWidget仅显示月份和年份【英文标题】:DjangoSelectDateWidgettoshowmonthandyearonly【发布时间】:2011-06-1114:40:08【问题描述】:是否有不同的小部件或参数允许django仅显示/获取年和月输入而不是年、月和日?目前正在使用Se... 查看详情

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

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

仅将带有年份和月份的字符串转换为仅适用于年份和月份的日期格式

】仅将带有年份和月份的字符串转换为仅适用于年份和月份的日期格式【英文标题】:ConvertstringwithYearandMonthONLY...tothedateformatforYearandMonthonly【发布时间】:2017-11-0315:47:03【问题描述】:有点奇怪的问题,但我将年/月的行和行作... 查看详情

如何在 UIDatePicker 中禁用未来的日期、月份和年份?

】如何在UIDatePicker中禁用未来的日期、月份和年份?【英文标题】:Howtodisablefuturedates,monthsandyearinUIDatePicker?【发布时间】:2014-07-1714:53:24【问题描述】:如何在UIDatePicker中隐藏未来的日期,以便用户仅选择过去和当前的生日年... 查看详情

仅在 android 中为棒棒糖 5.0 显示带有月份和年份的日期选择器

】仅在android中为棒棒糖5.0显示带有月份和年份的日期选择器【英文标题】:Showdatepickerwithmonthandyearonlyforlollipop5.0inandroid【发布时间】:2015-05-1106:48:14【问题描述】:仅在android的棒棒糖5.0中显示带有月份和年份的日期选择器,它... 查看详情

如何使用月份和年份格式以精确格式显示日期[重复]

】如何使用月份和年份格式以精确格式显示日期[重复]【英文标题】:Howtodisplaydateinexactformatwithmonthandyearformat[duplicate]【发布时间】:2014-12-2011:56:34【问题描述】:您好,如何使用July3,1969显示给定的字符串,用于字符串1969-07-03Str... 查看详情

fullcalendar-无法获取所选月份的月份和年份

...我正在为我的网站上的用户制作日历视图,我可以在其中显示他们的每月会议和分类信息。我正在使用全日历。仅启用了月视图。还有下一个和上一个箭头按钮。这就是我想要做的。当用户单击其中一个箭头按 查看详情