CalendarPickerView中仅显示当前月份

时间:2018-06-22 12:48:03

标签: android datepicker calendar

我正在使用CalendarPickerView从一个日历中选择多个日期。我可以制作日历,但实际情况是,我只能看到日历的一个月(在我的情况下为当前月份)。没有更多可见的月份了。我不明白这个问题。我已经尝试了多段代码,但是仍然只能看到一个月的日历。如何向用户显示我提供的年份范围(1年)中的所有月份?

屏幕截图:

enter image description here

布局:

 <com.squareup.timessquare.CalendarPickerView
      android:id="@+id/calendar_view"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:scrollbarStyle="outsideOverlay"
      android:clipToPadding="false"
      android:background="#FFFFFF"
      android:layout_alignParentTop="true"
      android:layout_above="@+id/btn_show_dates"/>

活动的OnCreate代码:

final CalendarPickerView calendar_view = 
findViewById(R.id.calendar_view);
Calendar nextYear = Calendar.getInstance();
nextYear.add(Calendar.YEAR, 1);
Date today = new Date();
calendar_view
    .init(today, nextYear.getTime())
    .inMode(CalendarPickerView.SelectionMode.MULTIPLE)
    .withSelectedDate(today);

我还认为,我还在ScrollView中添加了布局,这是一些可见性问题,但是没有用。

1 个答案:

答案 0 :(得分:0)

我访问了com.squareup.timessquare.CalendarPickerView的{​​{3}},并且在页面说明中看到了以下内容:

  

视图的默认模式是有一个可选日期。如果希望用户能够选择多个日期或一个日期范围,请使用   inMode()方法:

calendar.init(today, nextYear.getTime())
    .inMode(RANGE);

因此,请尝试RANGE

您可以从Github site看到CalendarPickerView类。

请告诉我是否可以解决您的问题。我没有机会尝试您的代码和可能的解决方案代码。

祝你有美好的一天!

编辑

RANGEMULTIPLE似乎都可以工作。但是,请删除<ScrollView>,然后重试。我现在尝试了,它成功了! :)