Ethiopian Date Picker
A highly customizable and localized Ethiopian date picker for Flutter applications, designed for easy date selection and seamless integration with Gregorian date systems.
✨ Features
Bidirectional Calendar Conversion:
Input Flexibility: Accepts standard Gregorian DateTime objects for initialDate, firstDate, and lastDate. These are automatically converted and displayed in the Ethiopian calendar.
Seamless Output: Returns the user-selected Ethiopian date as a standard Gregorian DateTime object, ensuring effortless compatibility with your existing application logic.
Ethiopian Calendar Display: Provides a customizable dialog-based date picker presenting dates in the Ethiopian calendar system.
Intuitive Navigation:
Effortless month-by-month navigation using chevron buttons.
Quick year selection via a convenient dropdown grid.
Date Range Constraints: Define firstDate and lastDate (in Gregorian) to limit selectable dates; unavailable days are visually grayed out and navigation respects these boundaries.
Clear Visual Feedback:
The actively selected date is prominently highlighted with a circular green background.
firstDay and lastDay are styled differently for easy identification.
Out-of-range dates are grayed out and non-interactive.
Comprehensive Localization:
Supports multiple Ethiopian languages and English for month names, day abbreviations (e.g., S, M, T), dialog titles, and action button texts.
Currently includes: English (US), Amharic (AM), Oromiffa (OR), Tigrinya (TI), Sidama (SI - placeholders), Somali (SO - placeholders).
Defaults to English if no localization is specified.
🚀 Installation
Add this to your pubspec.yaml file:
dependencies:
ethiopian_date_picker: ^0.1.0 # Significant update with robust conversion
Then, run flutter pub get to fetch the package.
📦 Usage
To use the date picker, simply call showEthiopianDatePicker from your BuildContext.
import 'package:flutter/material.dart';
import 'package:ethiopian_date_picke …