0

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

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

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

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

4

2 回答 2

0

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

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

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

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

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

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

于 2013-01-26T12:55:45.053 回答
0

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

于 2013-01-25T02:42:29.410 回答