Package selection guidance compiled from public package information, community data, and project usage.
A Flutter package that provides a month and year picker widget inspired by Flutter's native date picker design. It allows users to select a specific month and year in a clean, intuitive interface, ideal for forms requiring date input without day precision. The picker is fully customizable and supports all major platforms including Android, iOS, Web, macOS, Windows, and Linux. Built with Flutter's material and cupertino themes in mind, it ensures consistent UI across devices.
Use cases
Selecting birth month and year
Filtering data by month and year
Setting anniversary dates
Configuring subscription start dates
Entering graduation year
Key features
Material and Cupertino theme support
Cross-platform compatibility
Customizable appearance
Simple API integration
Smooth animations
No dependency on external libraries
Suitable for
Form inputs needing month/year selection
Calendar-based applications
User profile setup flows
Data filtering interfaces
Mobile and web apps with date-related features
Considerations
Does not include day selection
Limited to month and year only
Requires manual handling of date formatting
Not suitable for precise date ranges
May need additional validation for business logic
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Material Month/Year Picker
The month year picker inspired by the Flutter's date picker design.
Quick Start
Open your pubspec.yaml file and add this entry:
month_year_picker:^0.5.0+1
OR just run flutter pub add month_year_picker using your preferred terminal app.
Must not be null. Will be passed to the internal showDialog function call.
initialDate
Must not be null and must fall between the firstDate and lastDate. The initialDate will be truncated to its year and month components. When the month/year picker is first displayed, it will show the month/year of the initialDate, with initialDate selected.
firstDate
Must not be null. The firstDate will be truncated to its year and month components. This is the earliest allowable month/year.
lastDate
Must not be null. The lastDate will be truncated to its year and month components. This is the latest allowable month/year.
selectableMonthYearPredicate
Can be null. The function to provide full control over which month/year can be selected. If provided, only the month/year that the selectableMonthYearPredicate returns true for will be selectable.
locale
Can be null. If provided, will be used to set the locale for the month/year picker. Otherwise, it defaults to the ambient locale provided by Localizations.
useRootNavigator
Can be null. Will be passed to the internal showDialog function call.
routeSettings
Can be null. Will be passed to the internal showDialog function call.
textDirection
Can be null. If provided, will be used to set the text direction for the month/year picker. Otherwise, it defaults to the ambient locale provided by Directionality.
builder
Can be null. This parameter can be used to wrap the dialog widget with a parent widget.
initialMonthYearPickerMode
Must not be null. Can be used to have the year picker initially appear in the MonthYearPickerMode.year mode. It defaults to the MonthYearPickerMode.month mode.
Screenshots
Mode
Screenshot
Month picker in portrait mode with default locale.
Year picker in portrait mode with default locale.
Month picker in portrait mode with Malay locale.
Year picker in portrait mode with Malay locale.
Month picker in portrait mode with Arabic locale.
Year picker in portrait mode with Arabic locale.
Month picker in landscape mode with default locale.
Year picker in landscape mode with default locale.
Month picker in landscape mode with Malay locale.
Year picker in landscape mode with Malay locale.
Month picker in landscape mode with Arabic locale.
Year picker in landscape mode with Arabic locale.
Building From Source
Dependencies
Dart SDK version 3.8.0 or newer.
Flutter SDK version 3.32 or newer.
Steps
Clone this git repo into your machine.
Run .\gen-l10n.ps1 to re-generate the localised strings.
Features and Bugs
Please file feature requests and bugs at the issue tracker.
License
This project is licensed under the MIT License - see the LICENSE file for details.