【问题标题】:Android: Create Calendars to select a specific date, or specific month in a year, or specific yearAndroid:创建日历以选择特定日期,或一年中的特定月份,或特定年份
【发布时间】:2013-01-25 00:31:10
【问题描述】:

我希望在我的应用程序中创建 3 个不同的 Calendar views,每个都由不同的按钮触发。

第一个是标准日历,允许您选择特定日期。 第二个类似,只是您只选择整个月份而不是一天。 最后一个您只需选择整个年份。

我知道有一个CalendarView 小部件,但它不适用于低于 11 的 API 级别。

我见过一些自定义的,但它们涉及相当多的类,由其他人创建,我真的不想依赖它们。我还研究了DatePicker,因为它不一定需要看起来像Calendar。如果每个日期选择器只有一个相关字段的微调器,那也可以。

【问题讨论】:

    标签: android calendar datepicker


    【解决方案1】:

    据我所知,您将不得不在这里推出自己的产品。 android.util 中有一个名为MonthDisplayHelper 的小助手,它对于显示6 行日历网格的一些基本计算很有用。除此之外,尽管日历的使用相对频繁,但实际上并没有日历小部件或任何类似的内置类。

    【讨论】:

      【解决方案2】:

      我设法找到了解决方案,而无需使用其他项目或从头开始。这可能不是最好的解决方案,但对我来说似乎工作得很好。

      我使用了DatePicker 小部件而不是日历,因为它更简单并且完全符合我的需要。我基本上删除(View.GONE)日期选择器,直到选择其中一个按钮(例如“选择完整日期”、“选择年份中的月份”、“选择年份”)。

      在“选择完整日期”的第一种情况下,我只是将日期选择器设置为VISIBLE。这就是我们所需要的。

      在“一年中选择月份”的第二种情况下,我设置了日期选择器VISIBLE,但我也调用了一个使用反射隐藏日期选择器的 DAY 部分的方法。

      最后的情况和上面一样,只是我隐藏了日期选择器的DAYMONTH 部分。

      在所有情况下,日期选择器“设置日期”或“设置月份”或“设置年份”下方都会出现一个新按钮(取决于选择了哪个初始按钮)。每个按钮都会从日期选择器中提取相关的字段信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-15
        • 2017-01-19
        • 2023-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-25
        相关资源
        最近更新 更多