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

progressive_time_picker 표지
패키지 상세v1.0.4

progressive_time_picker

이 패키지는 특정 범위를 시간 선택기에서 선택하기 위해 요구 사항에 따라 시간 선택기를 사용자 지정할 수 있도록 하며 여러 플랫폼을 지원합니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
2.7천
좋아요
177
Pub 점수
150

패키지 설치

flutter pub add progressive_time_picker

패키지 개요

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

progressive_time_picker 패키지는 Flutter 애플리케이션용 사용자 정의 가능한 시간 선택기를 제공하여 개발자가 특정 시간 범위를 정의하고 선택기의 외관 및 동작을 맞춤화할 수 있도록 합니다. Android, iOS, 웹, macOS, Windows, Linux 등 여러 플랫폼을 지원하여 기기 간 일관된 사용자 경험을 보장합니다. 유연한 구성 옵션을 통해 시간 선택을 정밀하게 제어할 수 있으며, 사용자 정의 시간 입력 로직이 필요한 앱에 적합합니다. 이 패키지는 통합과 확장성을 고려해 설계되었습니다.

사용 사례

  • 사용자 지정 시간 범위 선택
  • 크로스 플랫폼 시간 입력
  • 예약 스케줄링
  • 시간 기반 폼 입력
  • 이벤트 기획 도구

주요 기능

  • 사용자 정의 가능한 시간 범위
  • 다중 플랫폼 지원
  • 확장 가능한 UI 사용자 정의
  • 반응형 디자인
  • 플랫폼에 관계없는 구현
  • Flutter 폼과의 간편한 통합

적합한 대상

  • 유연한 시간 선택기 필요 개발자
  • 제한된 시간 선택이 필요한 앱
  • 크로스 플랫폼 Flutter 프로젝트
  • 폼 중심 애플리케이션
  • 사용자 인터페이스 중심의 시간 입력 컴포넌트

고려 사항

  • Flutter 상태 관리에 대한 이해가 필요합니다
  • 제한된 내장 테마 (사용자 정의 스타일 필요)
  • 경계 사례에 대한 추가 검증이 필요할 수 있습니다
  • 매우 큰 시간 간격에 대해 최적화되지 않음
  • 업데이트를 위해 외부 GitHub 저장소에 의존합니다

원본 README

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

progressive_time_picker

Flutter Website Dart Website MIT License

A Customizable Progressive Time Picker for Flutter. This package allow us to customize time picker based on our requirements for selecting a specific range from time picker and it's supports multiple platforms.

Key Features

  • Supports selecting either a single picker handler or both simultaneously.
  • Provides easy customization options for decorating the time picker.
  • Offers the ability to display clock numbers in both 12-hour and 24-hour formats, with full customization support.
  • Allows disabling specific time ranges for more control.

Preview

progressive time picker

progressive_time_picker

progressive time picker with disabled ranges

progressive_time_picker_disabled_range progressive_time_picker_multiple_disabled_ranges

Basic Usage

Import it to your project file

import 'package:progressive_time_picker/progressive_time_picker.dart';

And add it in its most basic form like it:

  TimePicker(
    initTime: PickedTime(h: 0, m: 0),
    endTime: PickedTime(h: 8, m: 0),
    onSelectionChange: (start, end, isDisableRange) =>
        print(
            'onSelectionChange => init : ${start.h}:${start.m}, end : ${end.h}:${end.m}, isDisableRangeRange: $isDisableRange'),
    onSelectionEnd: (start, end, isDisableRange) =>
        print(
            'onSelectionEnd => init : ${start.h}:${start.m}, end : ${end.h}:${end.m},, isDisableRangeRange: $isDisableRange'),
  );

And for the DisabledRanges:

TimePicker(
    initTime: PickedTime(h: 0, m: 0),
    endTime: PickedTime(h: 8, m: 0),
    disabledRanges: [
      DisabledRange(
        initTime: PickedTime(h: 12, m: 0),
        endTime: PickedTime(h: 20, m: 0),
      ),
    ],
    disabledRangesColor: Colors.grey,
    disabledRangesErrorColor: Colors.red,
    onSelectionChange: (start, end, isDisableRange) => print(
      'onSelectionChange => init : ${start.h}:${start.m}, end : ${end.h}:${end.m}, isDisableRangeRange: $isDisableRange'),
    onSelectionEnd: (start, end, isDisableRange) => print(
      'onSelectionEnd => init : ${start.h}:${start.m}, end : ${end.h}:${end.m},, isDisableRangeRange: $isDisableRange'),
);

Required parameters of TimePicker

Parameter Description
PickedTime initTime the init PickedTime value in the selection
PickedTime endTime the end PickedTime value in the selection
onSelectionChange callback function when init and end PickedTime change
onSelectionEnd callback function when init and end PickedTime finish

Optional parameters of TimePicker

Parameter Default Description
double height 220 height of the canvas
double width 220 width of the canvas
int primarySectors 0 the number of primary sectors to be painted
int secondarySectors 0 the number of secondary sectors to be painted
Widget child Container widget that would be mounted inside the circle
TimePickerDecoration decoration - used to decorate our TimePicker widget
bool isInitHandlerSelectable true used to enabled or disabled Selection of Init Handler
bool isEndHandlerSelectable true used to enabled or disabled Selection of End Handler
bool isSelectableHandlerMoveAble true used to enabled or disabled the Movement of Init and End Handler when its not Selectable (disable the dragging of both handlers)
List disabledRanges null used to disable Selection ranges, If null so there is no disable time ranges
Color disabledRangesColor Colors.grey defines the color for the disabled range
Color disabledRangesErrorColor Colors.red defines the color for the error in disabled range
bool drawInitHandlerOnTop false used to set priority to draw init or end handler on the top

Required parameters of TimePickerDecoration

Parameter Description
TimePickerSweepDecoration sweepDecoration used to decorate our sweep part or a part between our init and end point with various options
TimePickerHandlerDecoration initHandlerDecoration used to decorate our init or end handler of time picker
TimePickerHandlerDecoration endHandlerDecoration used to decorate our init or end handler of time picker

Optional parameters of TimePickerDecoration

Parameter Default Description
Color baseColor cyanAccent defines the background color of the picker
double pickerBaseCirclePadding 0.0 to add extra padding for picker base or outer circle
TimePickerSectorDecoration primarySectorsDecoration - used to decorate the primary sectors of out time picker
TimePickerSectorDecoration secondarySectorsDecoration - used to decorate the secondary of out time picker
TimePickerClockNumberDecoration clockNumberDecoration - Provides decoration options which will get applied to the internal clock's numbers when enable
SystemMouseCursor mouseCursor - Used to set SystemMouseCursor for PanGestureRecognizer

Guideline for contributors

  • Contribution towards our repository is always welcome, we request contributors to create a pull request for development.

Guideline to report an issue/feature request

It would be great for us if the reporter can share the below things to understand the root cause of the issue.

  • Library version
  • Code snippet
  • Logs if applicable
  • Device specification like (Manufacturer, OS version, etc)
  • Screenshot/video with steps to reproduce the issue
  • Library used

LICENSE!

progressive_time_picker is MIT-licensed.

Let us know!

We’d be really happy if you send us links to your projects where you use our open-source libraries. Just send an email to [sales@mindinventory.com](mailto:sales@mindinventory.com) And do let us know if you have any questions or suggestion regarding our work.

Visit our website mindinventory.com

Let us know if you are interested to building Apps or Designing Products.

flutter app development

카테고리

소스 저장소

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

아직 데이터가 없습니다.