@@ -30,16 +30,13 @@ List<String> views = <String>[
3030];
3131
3232class CalendarDisplayDate extends State <DisplayDate > {
33- CalendarView _calendarView;
34- DateTime _datePicked;
35- DateTime _calendarDate;
33+ CalendarController _controller = CalendarController ();
34+ DateTime ? _datePicked = DateTime .now ();
3635
3736 @override
3837 void initState () {
3938 // TODO: implement initState
40- _calendarView = CalendarView .week;
41- _datePicked = DateTime .now ();
42- _calendarDate = DateTime .now ();
39+ // _datePicked = DateTime.now();
4340 super .initState ();
4441 }
4542
@@ -51,15 +48,12 @@ class CalendarDisplayDate extends State<DisplayDate> {
5148 FlatButton (
5249 onPressed: () {
5350 showDatePicker (
54- context: context,
55- initialDate: _datePicked,
56- firstDate: DateTime (2000 ),
57- lastDate: DateTime (2100 ))
58- .then ((DateTime date) {
59- if (date != null && date != _calendarDate)
60- setState (() {
61- _calendarDate = date;
62- });
51+ context: context,
52+ initialDate: _datePicked! ,
53+ firstDate: DateTime (2000 ),
54+ lastDate: DateTime (2100 ))
55+ .then ((DateTime ? date) {
56+ if (date != null ) _controller.displayDate = date;
6357 });
6458 },
6559 child: Icon (
@@ -79,19 +73,19 @@ class CalendarDisplayDate extends State<DisplayDate> {
7973 onSelected: (String value) {
8074 setState (() {
8175 if (value == 'Day' ) {
82- _calendarView = CalendarView .day;
76+ _controller.view = CalendarView .day;
8377 } else if (value == 'Week' ) {
84- _calendarView = CalendarView .week;
78+ _controller.view = CalendarView .week;
8579 } else if (value == 'WorkWeek' ) {
86- _calendarView = CalendarView .workWeek;
80+ _controller.view = CalendarView .workWeek;
8781 } else if (value == 'Month' ) {
88- _calendarView = CalendarView .month;
82+ _controller.view = CalendarView .month;
8983 } else if (value == 'Timeline Day' ) {
90- _calendarView = CalendarView .timelineDay;
84+ _controller.view = CalendarView .timelineDay;
9185 } else if (value == 'Timeline Week' ) {
92- _calendarView = CalendarView .timelineWeek;
86+ _controller.view = CalendarView .timelineWeek;
9387 } else if (value == 'Timeline WorkWeek' ) {
94- _calendarView = CalendarView .timelineWorkWeek;
88+ _controller.view = CalendarView .timelineWorkWeek;
9589 }
9690 });
9791 },
@@ -101,8 +95,8 @@ class CalendarDisplayDate extends State<DisplayDate> {
10195 children: < Widget > [
10296 Expanded (
10397 child: SfCalendar (
104- initialDisplayDate : _calendarDate ,
105- view : _calendarView ,
98+ view : CalendarView .week ,
99+ controller : _controller ,
106100 onViewChanged: _viewChanged,
107101 ),
108102 ),
@@ -112,9 +106,9 @@ class CalendarDisplayDate extends State<DisplayDate> {
112106 }
113107
114108 void _viewChanged (ViewChangedDetails viewChangedDetails) {
115- SchedulerBinding .instance.addPostFrameCallback ((duration) {
116- _datePicked = viewChangedDetails
117- .visibleDates[viewChangedDetails.visibleDates.length ~ / 2 ];
118- });
109+ SchedulerBinding .instance! .addPostFrameCallback ((duration) {
110+ _datePicked = viewChangedDetails
111+ .visibleDates[viewChangedDetails.visibleDates.length ~ / 2 ];
112+ });
119113 }
120114}
0 commit comments