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

time_range_picker 표지
패키지 상세v2.3.1

time_range_picker

flutter용 시간 범위 선택기입니다. 이 위젯을 사용하면 시작 시간과 종료 시간이 포함된 시간 범위를 선택하기 위해 대화 상자를 열 수 있습니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
6.5천
좋아요
186
Pub 점수
140

패키지 설치

flutter pub add time_range_picker

패키지 개요

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

지정된 시간 범위 내에서 시작 시간과 종료 시간을 선택할 수 있는 직관적인 대화 상자 인터페이스를 제공하는 사용자 정의 가능한 시간 범위 선택 위젯을 제공하는 플러터 패키지입니다. 크로스플랫폼 사용을 위해 설계되어 안드로이드, iOS, 웹, 맥OS, 윈도우, 리눅스를 지원합니다. 스케줄링, 예약 또는 정확한 시간 간격 선택이 필요한 모든 애플리케이션에 적합합니다. 기존 플러터 앱과 원활하게 통합되며 깔끔하고 반응성 있는 UI를 제공합니다.

사용 사례

  • 예약 일정 조정
  • 예약 시간 슬롯
  • 타이머 설정
  • 이벤트 지속 시간 구성
  • 근무 시간 추적

주요 기능

  • 대화형 시간 선택
  • 시작 및 종료 시간 선택기
  • 크로스 플랫폼 호환성
  • 사용자 지정 가능한 UI
  • 반응형 디자인

적합한 대상

  • 캘린더 및 스케줄링 앱
  • 시간 추적 도구
  • 예약 시스템
  • 이벤트 관리 플랫폼
  • 생산성 애플리케이션

고려 사항

  • Flutter SDK 2.0 이상이 필요합니다
  • 시간 간격의 사용자 정의 제한
  • 겹치는 시간에 대한 내장 검증 없음
  • 다크 모드를 위해 추가적인 스타일링이 필요할 수 있습니다
  • 업데이트를 위해 외부 GitHub 저장소에 의존합니다

원본 README

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

Time Range Picker

A time range picker for flutter.

Getting Started

Installation

Add


time_range_picker : any

to your pubspec.yaml, and run

flutter packages get

in your project's root directory.

Basic Usage
import 'package:flutter/material.dart';

import 'package:time_range_picker/time_range_picker.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        backgroundColor: Colors.blueGrey,
        body: Center(
          child: RaisedButton(
            onPressed: () async {
              TimeRange result = await showTimeRangePicker(
                context: context,
              );
              print("result " + result.toString());
            },
            child: Text("Pure"),
          ),
        ));
  }
}
Examples
Simple

Simple

Interval

Interval

Filled Style

Filled Style

Disabled Timeframe

Disabled Timeframe

Background Widget

Background Widget

Rotated Clock

Rotated Clock

Max Duration

Max Duration

Min Duration

Min Duration

Default Widget

Default Widget

Custom Dialog

Custom Dialog

Custom Dialog iOS Style

Custom Dialog iOS Style

Parameters
type param default description
TimeOfDay start TimeOfDay.now() preselected start time
TimeOfDay end now + 3h preselected end time
TimeRange disabledTime disabled time range (this time cannot be selected)
Color disabledColor Colors.red.withOpacity(0.5) the color for the disabled section
PaintingStyle paintingStyle PaintingStyle.stroke Style of the arc (filled or stroke)
Function(TimeOfDay) onStartChange
Function(TimeOfDay) onEndChange
Duration interval Duration(minutes: 5) Minimum time steps that can be selected
String fromText "From" label for start time
String toText "To" label for end time
bool use24HourFormat true use 24 hours or am / pm
double padding 36 the padding of the ring
double strokeWidth 12 the thickness of the ring
Color strokeColor primaryColor the color of the active arc from start time to end time
double handlerRadius 12 the radius of the handler to drag the arc
Color handlerColor primaryColor the color of a handler
Color selectedColor primaryColorLight the color of a selected handler
Color backgroundColor Colors.grey[200] the color of the circle outline
Widget backgroundWidget a widget displayed in the background, use e.g. an image
int ticks number of ticks displayed
double ticksOffset 0 the offset for ticks
double ticksLength strokeWidth ticks length
double ticksWidth 1 ticks thickness
Color ticksColor Colors.white Color of ticks
bool snap false Snap time bar to interval
List labels Show labels around the circle (start at 0 hours)
double labelOffset 20 Offset of the labels
bool rotateLabels true rotate labels
bool autoAdjustLabels true flip labels if the angle woulb be upside down (only if rotate labels is active)
TextStyle labelStyle Style of the labels
TextStyle timeTextStyle TextStyle of the time texts
TextStyle activeTimeTextStyle TextStyle of the currently moving time text
bool hideTimes false hide the time texts
double clockRotation 0 rotate the clock around angle
Duration maxDuration null maximum Duration that can be picked
Duration minDuration Duration(minutes: 30) minimum Duration that can be picked
bool barrierDismissible true barrierDismissible false = user must tap button to close time range picker

카테고리

소스 저장소

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