패키지, 저장소 및 앱 카테고리 검색

flutter_date_range_picker 표지
패키지 상세v0.3.0

flutter_date_range_picker

입력, 대화 상자 및 캘린더 옵션을 통해 날짜 범위를 선택할 수 있는 Flutter 패키지입니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
5.3천
좋아요
66
Pub 점수
160

패키지 설치

flutter pub add flutter_date_range_picker

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

입력 필드, 대화 상자, 인터랙티브 캘린더를 포함한 다양한 인터페이스를 통해 사용자가 날짜 범위를 선택할 수 있도록 해주는 플러터 패키지입니다. 안드로이드, iOS, 웹, 맥OS, 윈도우, 리눅스 등 주요 모든 플랫폼을 지원하여 유연한 날짜 범위 선택이 필요한 크로스플랫폼 애플리케이션에 적합합니다. 깔끔하고 사용자 정의 가능한 UI를 제공하며 내장된 검증 기능과 날짜 간 직관적인 탐색 기능을 갖추고 있습니다. 시간 간격이 중요한 폼 및 워크플로에 원활하게 통합됩니다.

사용 사례

  • 날짜 범위가 필요한 폼 입력
  • 예약 또는 스케줄링 시스템
  • 날짜 간격에 따른 데이터 필터링
  • 이벤트 기획 애플리케이션
  • 날짜 범위 선택 기능이 있는 보고 도구
  • 캘린더 기반 대시보드

주요 기능

  • 다중 선택 모드(입력, 대화상자, 캘린더)
  • 크로스 플랫폼 호환성
  • 사용자 정의 가능한 UI 및 스타일링
  • 내장된 날짜 검증
  • 단일 및 다중 날짜 범위 지원
  • 기존 Flutter 폼과의 간편한 통합

적합한 대상

  • 크로스 플랫폼 앱을 개발하는 개발자
  • 날짜 범위 필터가 필요한 애플리케이션
  • 날짜 입력을 포함한 UI 중심 폼
  • 스케줄링 및 예약 플랫폼
  • 시간 간격 선택이 필요한 도구

고려 사항

  • 날짜 형식 처리에 주의가 필요합니다
  • 추가 로컬라이제이션 설정이 필요할 수 있습니다
  • 사용자 정의 스타일은 위젯 조합에 대한 깊은 이해를 필요로 할 수 있습니다
  • 날짜만 선택 가능 (시간 구성 요소 없음)
  • 매우 큰 날짜 범위에 최적화되지 않음

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Date Range Picker 📅

Date Range Picker is a user-friendly and simple package for Flutter that allows users to select a date range. It's designed to evolve over time, and its components are built to be reusable.

Date Range Picker

(Isn't it beautiful?)

Features ✅

  • Simple and user-friendly interface
  • Customizable theme
  • Reusable components
  • Field, form field, and dialog widgets
  • Functions to display a date range picker as a dialog
  • Supports minimum and maximum date limitations
  • Displays two months at once for easy navigation

Installation 🪛

Add the package to your pubspec.yaml file:

dependencies:
  date_range_picker: ^latest_version

Then, run flutter packages get in your terminal.

Usage 📖

To use the Date Range Picker, simply import the package and create a DateRangePickerWidget:

DateRangePickerWidget(
    doubleMonth: doubleMonth,
    maximumDateRangeLength: 10,
    minimumDateRangeLength: 3,
    initialDateRange: selectedDateRange,
    disabledDates: [DateTime(2023, 11, 20)],
    initialDisplayedDate:
    selectedDateRange?.start ?? DateTime(2023, 11, 20),
    onDateRangeChanged: onDateRangeChanged,
);

You can also use the DateRangeField or DateRangeFormField to display a dialog asking the user to select a date range, and to display the selected range. Here is an example:

DateRangeField(
    decoration: InputDecoration(
        label: Text("Date range picker"),
        hintText: 'Please select a date range',
    ),
    onDateRangeSelected: (DateRange? value) {
    // Handle the selected date range here
    },
  selectedDateRange: selectedRange,
);

Lastly, you can use the showDateRangePickerDialog function to display a dialog asking the user to select a date range:

showDateRangePickerDialog(
    context: context, 
    builder: datePickerBuilder
);
...

Widget datePickerBuilder(BuildContext context, dynamic Function(DateRange) onDateRangeChanged) => DateRangePickerWidget(
    doubleMonth: true,
    initialDateRange: selectedDateRange,
    onDateRangeChanged: onDateRangeChanged,
);

Customization 🎨

You can customize the appearance of the Date Range Picker by providing a custom CalendarTheme:

DateRangePickerWidget(
    onDateRangeChanged: (dateRange) {
    // Handle the selected dateRange here
    },
    theme: CalendarTheme(
    selectedColor: Colors.blue,
    dayNameTextStyle: TextStyle(color: Colors.black45, fontSize: 10),
    inRangeColor: Color(0xFFD9EDFA),
    inRangeTextStyle: TextStyle(color: Colors.blue),
    selectedTextStyle: TextStyle(color: Colors.white),
    todayTextStyle: TextStyle(fontWeight: FontWeight.bold),
    defaultTextStyle: TextStyle(color: Colors.black, fontSize: 12),
    radius: 10,
    tileSize: 40,
    disabledTextStyle: TextStyle(color: Colors.grey),
    )
,
);

License 📜

This package is released under the MIT License.

Contributing 🤝

We encourage and welcome contributions from the community to help improve and grow this project. If you would like to contribute, please feel free to fork the repository, make changes, and submit a pull request.

If you have any questions or need guidance, don't hesitate to reach out to the maintainer of this project. We appreciate your interest and support, and we look forward to collaborating with you!

카테고리

의존성

의존성 목록 1 개

소스 저장소

이 패키지를 사용하는 프로젝트