Skip to content

Commit 7a3bb0f

Browse files
Update README.md
Tags and H1 title included.
1 parent 8622172 commit 7a3bb0f

File tree

1 file changed

+57
-2
lines changed

1 file changed

+57
-2
lines changed

README.md

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,57 @@
1-
# switching-views-date-range-picker-flutter
2-
How to switch between the calendar views in Flutter date range picker?
1+
# How to switch between the date range picker views in Flutter date range picker (SfDateRangePicker)?
2+
3+
4+
In the flutter date range picker, you can navigate between the picker views. Switching between picker views has been achieved using the `view` property of DateRangePickerController and tapping the header of the picker views.
5+
6+
## Step 1:
7+
In initState(), initialize the controller for date range picker.
8+
9+
```xml
10+
DateRangePickerController _controller;
11+
12+
@override
13+
void initState() {
14+
// TODO: implement initState
15+
_controller = DateRangePickerController();
16+
super.initState();
17+
}
18+
```
19+
20+
21+
## Step 2:
22+
Navigate between the picker views using the PopupMenuButton widget as follows. Also navigating between the picker views can be achieved by tapping the header of the picker views.
23+
24+
```xml
25+
leading: PopupMenuButton<String>(
26+
icon: Icon(Icons.calendar_today),
27+
itemBuilder: (BuildContext context) => views.map((String choice) {
28+
return PopupMenuItem<String>(
29+
value: choice,
30+
child: Text(choice),
31+
);
32+
}).toList(),
33+
onSelected: (String value) {
34+
if (value == 'Month') {
35+
_controller.view = DateRangePickerView.month;
36+
} else if (value == 'Year') {
37+
_controller.view = DateRangePickerView.year;
38+
} else if (value == 'Decade') {
39+
_controller.view = DateRangePickerView.decade;
40+
} else if (value == 'Century') {
41+
_controller.view = DateRangePickerView.century;
42+
}
43+
},
44+
),
45+
```
46+
Step 3:
47+
Place the calendar inside the body of the Scaffold widget.
48+
49+
```xml
50+
body: Card(
51+
margin: const EdgeInsets.fromLTRB(50, 150, 50, 150),
52+
child: SfDateRangePicker(
53+
controller: _controller,
54+
view: DateRangePickerView.month,
55+
),
56+
)
57+
```

0 commit comments

Comments
 (0)