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

패키지 상세v0.4.3

flutter_date_pickers

일, 주, 범위 및 월 날짜 선택기용 플러터 패키지.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
2.7만
좋아요
158
Pub 점수
150

패키지 설치

flutter pub add flutter_date_pickers

패키지 개요

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

하루, 주, 날짜 범위 및 월 선택을 위한 사용자 정의 가능한 날짜 선택기 제공하는 플러터 패키지입니다. 안드로이드, 아이오스, 웹, 맥OS, 윈도우, 리눅스 등 여러 플랫폼을 지원합니다. 플러터 앱에 쉽게 통합할 수 있는 일관되고 직관적인 UI를 제공합니다. 유연하고 확장 가능한 설계로 개발자가 앱 디자인 요구 사항에 맞게 선택기의 외관과 동작을 조정할 수 있습니다. 양식, 스케줄링 도구, 캘린더 기반 애플리케이션에 적합합니다.

사용 사례

  • 날짜 선택이 필요한 폼 입력
  • 스케줄링 및 예약 시스템
  • 캘린더 및 플래너 앱
  • 날짜 범위 필터링
  • 이벤트 생성 인터페이스

주요 기능

  • 일, 주, 범위 및 월 선택기 유형
  • 크로스 플랫폼 호환성
  • 사용자 정의 가능한 UI 테마
  • Flutter와의 간편한 통합
  • 로컬라이제이션 지원
  • 사용자 정의 가능한 날짜 범위

적합한 대상

  • 캘린더 기능을 구축하는 개발자
  • 고급 날짜 선택이 필요한 앱
  • 다중 플랫폼 날짜 선택기가 필요한 프로젝트
  • UI 중심 폼 컴포넌트

고려 사항

  • Flutter SDK 2.5 이상이 필요합니다
  • 사용자 정의 테마를 위해 추가적인 스타일링이 필요할 수 있습니다
  • 제한된 내장 검증
  • 플랫폼별 날짜 처리에 의존합니다
  • 매우 큰 날짜 범위에 최적화되지 않음

원본 README

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

flutter_date_pickers

Actions Status Pub Likes Health Code size License: MIT GitHub stars

Allows to use date pickers without dialog. Provides some customizable styles for date pickers.

A set of date pickers:

  • DayPicker for one day
  • WeekPicker for whole week
  • RangePicker for random range
  • MonthPicker for month
  • YearPicker for year

How to style date picker

Every date picker constructor take a style object as a parameter (if no styles passed - defaults will be used).

For single value pickers (DayPicker, MonthPicker) it is DatePickerStyles object;

For range pickers (WeekPicker, RangePickers) it is DatePickerRangeStyles object;

Customizable styles: for all date pickers

Property Description
TextStyle displayedPeriodTitle title of the date picker
TextStyle currentDateStyle style for current date
TextStyle disabledDateStyle style for disabled dates (before first and after last date user can pick)
TextStyle selectedDateStyle style for selected date
BoxDecoration selectedSingleDateDecoration decoration for selected date in case single value is selected
TextStyle defaultDateTextStyle style for date which is neither current nor disabled nor selected
DayHeaderStyle dayHeaderStyle style for all weekday headers. For more control under weekday headers styles use dayHeaderStyleBuilder
DayHeaderStyleBuilder dayHeaderStyleBuilder builder to customize weekday header's style
DayHeaderTitleBuilder dayHeaderTitleBuilder builder to customize weekday header's title

only for range date pickers (WeekPicker, RangePicker)

Property Description
BoxDecoration selectedPeriodStartDecoration decoration for the first date of the selected range
BoxDecoration selectedPeriodLastDecoration decoration for the first date of the selected range
BoxDecoration selectedPeriodMiddleDecoration Decoration for the date of the selected range which is not first date and not end date of this range

How to make some dates not selectable date picker

By default only dates before firstDate and after lastDate are not selectable. But you can set custom disabled days. DayPicker, WeekPicker and RangePicker take a SelectableDayPredicate selectableDayPredicate where you can specify function which returns if some date is disabled or not.

If some date is disabled for selection it gets disabledDateStyle.

If selected range or week pretends to include such disabled date UnselectablePeriodException occurs. To handle it - pass onSelectionError callback to date picker.

How to make special decorations for some dates

By default cells are decorated with datePickerStyles slyles (or default if no styles was passed to date picker). If you need special decoration for some days use eventDecorationBuilder. Currently only for DayPicker, WeekPicker and RangePicker.

  • If date is not selected basic styles will be merged with styles from eventDecorationBuilder.
  • If date is current date styles from eventDecorationBuilder win (if there are).
  • Otherwise basic styles (datePickerStyles) win.

What time I will get after selection?

If one day selected: you will get start of the day (00:00:00).

If range/week selected: for start you will get start of the day (00:00:00) by default. for end you will get end of the day (23:59:59.999) by default.

If month selected: you will get start (00:00:00) of the 1 day of month by default. If selected month same as month of the firstDate - you will get firstDate.

Usage

// Create week date picker with passed parameters
Widget buildWeekDatePicker (DateTime selectedDate, DateTime firstAllowedDate, DateTime lastAllowedDate, ValueChanged<DatePeriod> onNewSelected) {

 // add some colors to default settings
    DatePickerRangeStyles styles = DatePickerRangeStyles(
      selectedPeriodLastDecoration: BoxDecoration(
          color: Colors.red,
          borderRadius: BorderRadiusDirectional.only(
              topEnd: Radius.circular(10.0),
              bottomEnd: Radius.circular(10.0))),
      selectedPeriodStartDecoration: BoxDecoration(
        color: Colors.green,
        borderRadius: BorderRadiusDirectional.only(
            topStart: Radius.circular(10.0), bottomStart: Radius.circular(10.0)),
      ),
      selectedPeriodMiddleDecoration: BoxDecoration(
          color: Colors.yellow, shape: BoxShape.rectangle),
    );
    
  return WeekPicker(
      selectedDate: selectedDate,
      onChanged: onNewSelected,
      firstDate: firstAllowedDate,
      lastDate: lastAllowedDate,
      datePickerStyles: styles
  );
}

Example app

Please checkout example.

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

카테고리

의존성

의존성 목록 1 개

소스 저장소

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