本插件是基于flutter_custom_calendar做了稍微的修改进行上传的。
具体使用方法见flutter_custom_calendar
新增一个选择mode
支持选择开始和结束,选择范围内的日期,使用方法
controller = new CalendarController(
minYear: 2019,
minYearMonth: 1,
maxYear: 2021,
maxYearMonth: 12,
showMode: CalendarConstants.MODE_SHOW_MONTH_AND_WEEK,
selectedDateTimeList: _selectedDate,
selectMode: CalendarSelectedMode.mutltiStartToEndSelect)
..addOnCalendarSelectListener((dateModel) {
_selectedModels.add(dateModel);
})
..addOnCalendarUnSelectListener((dateModel) {
if (_selectedModels.contains(dateModel)) {
_selectedModels.remove(dateModel);
}
});
CalendarSelectedMode.mutltiStartToEndSelect
这个选择模式会选择开始和结束中间的 默认选择的。
Use this package as a library
- Depend on it Add this to your package's pubspec.yaml file:
dependencies:
flutter_custom_calendar: ^1.0.4+0.5
- Install it You can install packages from the command line:
with Flutter:
$ flutter pub get
Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.
- Import it Now in your Dart code, you can use:
import 'package:flutter_custom_calendar/flutter_custom_calendar.dart';
controller.addExpandChangeListener((value) {
/// 添加改变 月视图和 周视图的监听
_isMonthSelected = value;
setState(() {});
});
});
前提条件是
showModel
是CalendarConstants.MODE_SHOW_MONTH_AND_WEEK
或者CalendarConstants.MODE_SHOW_WEEK_AND_MONTH
.
setState(() {
controller.weekAndMonthViewChange(CalendarConstants.MODE_SHOW_ONLY_WEEK);
});
setState(() {controller.weekAndMonthViewChange(CalendarConstants.MODE_SHOW_ONLY_MONTH);
});