calendar_picker_ghe

A lightweight, customizable Flutter date picker supporting:

  • πŸ—“οΈ Gregorian Calendar
  • πŸŒ™ Hijri (Islamic) Calendar
  • πŸ—Ώ Ethiopian Calendar

Easily switch between calendars using a unified API with a clean, customizable dialog interface.


✨ Features

  • πŸ” Easy month/year navigation via dropdowns and arrows
  • βœ… Highlights for today’s date and selected date
  • πŸ“† Configurable year range: firstYear, lastYear, and initialYear
  • 🎯 Unified function: showUnifiedDatePicker(...)
  • 🌍 Clean, extensible codebase for integrating other calendars
  • Responsive for small devices

πŸ“Έ Screenshots

πŸ“… Gregorian Calendar

On Small Screen On Big Screen
Gregorian Table Gregorian Year

πŸ—Ώ Ethiopian Calendar

On Small Screen On Big Screen
Ethiopian Table Ethiopian Year

πŸŒ™ Hijri Calendar

On Small Screen On Big Screen
Hijri Table Hijri Year

πŸš€ Getting Started

πŸ“¦ Installation

Run this command in your Flutter terminal:

flutter pub add calendar_picker_ghe

πŸ“₯ Import the Package

In your Dart file:

import 'package:calendar_picker_ghe/calendar_picker.dart';

πŸ§ͺ Usage

 

import 'package:calendar_picker_ghe/calendar_picker.dart';

final pickedDate = await showUnifiedDatePicker(
  context: context,
  calendarType: CalendarType.ethiopian, // or CalendarType.hijri / .gregorian
  initialYear: 2015,
  firstYear: 2000,
  lastYear: 2030,
);

The calendarType can be one of: CalendarType.gregorian, CalendarType.hijri, or CalendarType.ethiopian.

initialYear, firstYear, and lastYear define the visible year range and default year in the dropdown.

To set the initialYear to today’s year:

 

initialYear: DateTime.now().year, // Gregorian calendar

For Hijri and Ethiopian calendars, use:

 

initialYear: Hijri.now().year,     // Hijri calendar
initialYear: Ethiopian.now().year, // Ethiopian calendar

(Requires appropriate date converter utilities from calendar_converter.dart)

πŸ“ License

This project is licensed under the terms of the Apache License 2.0.

πŸ“¬ Contact

For questions, feedback, or contributions:

πŸ“§ Email: halidawell00@gmail.com

Libraries

calendar_picker
main