Android 日历视图,仅显示 2 周

Android Calendar View, show only 2 weeks

有没有办法一次显示 2 周而不是整个月(4 周)的日历视图?请参阅所附图片。

我还想保留手势

  1. 滚动left/right 将更改月份
  2. 滚动 up/down 会显示接下来的几周。

希望有人能指出我正确的方向。谢谢!

我认为子class CalendarView class 来创建类似"FortnightCalendarView" 的内容是您最好的选择。然后您可以覆盖显示以将其限制为 2 周。 我仍然会使用 left/right 按钮来导航两周而不是几个月,或者可能创建一组额外的左右按钮。

为此我做了以下工作

  1. 创建视图寻呼机(模仿日历的左右滑动)
  2. 在视图分页器适配器中,对包含 Gridview 的每个页面使用片段 (MonthFragment)。确保您的 Gridview 一次只显示 2 行
  3. 使用适配器用日期填充 Gridview 元素。 *网上有例子
  4. 通过为 Gridview 设置 onTouchListener 并根据当前移动向上或向下捕捉它,在垂直滚动 gridview 时实现捕捉功能。

这并不完美,但它解决了我的问题。希望对其他人有帮助。