Search packages, repositories and app categories

Package detailsv4.0.0+13

interval_time_picker

A variant of the default Flutter Time Picker in which you can pick intervals.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
10
Likes
27
Pub points
160

Install package

flutter pub add interval_time_picker

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter package that extends the default time picker to allow selection of time intervals instead of individual times. It enables users to choose from predefined time slots, making it ideal for scheduling applications where fixed intervals are required. The package supports all major platforms including Android, iOS, Web, macOS, Windows, and Linux, ensuring consistent behavior across devices. Built with Dart, it integrates seamlessly into Flutter projects and offers a clean, customizable interface for interval-based time selection.

Use cases

  • Scheduling appointments with fixed time slots
  • Booking systems requiring interval-based time selection
  • Time tracking tools with predefined intervals
  • Event planning with set duration blocks
  • Online class or meeting time selection

Key features

  • Supports custom interval durations
  • Intuitive UI for interval selection
  • Cross-platform compatibility
  • Easy integration with Flutter apps
  • Configurable start and end times
  • Responsive design for all screen sizes

Suitable for

  • Developers building appointment booking apps
  • Teams creating time-tracking software
  • Educational platforms with scheduled sessions
  • Any app needing structured time input

Considerations

  • Requires careful interval configuration to avoid user confusion
  • May need additional validation for edge cases
  • Limited to time-only selection (no date)
  • Not suitable for dynamic or irregular time ranges
  • Best used when time slots are predictable and uniform

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Interval Time Picker

pub version likes pub points

This package modifies the default Flutter Time Picker widget by adding interval options when picking minutes. This means you can restrict the user from picking only certain intervals of minutes and you can choose to which interval of minutes the Time Picker will snap to in dial mode.

Version notes
  • Flutter 2.0.0 until 3.7.12 should use version 1.1.0+4.
  • Flutter 3.1.0 until 3.19.6 should use version 2.0.0+5.
  • Flutter 3.22.x should use version 3.0.2+8.
  • Flutter 3.24.0 until 3.32.8 should use version 3.0.4+10.
  • Flutter 3.35.0 and higher should use version 4.0.0+13.
Usage

In the pubspec.yaml of your flutter project, add the following dependency:

dependencies:
  ...
  interval_time_picker: ^4.0.0+13

On top of your code add the following import:

import 'package:interval_time_picker/interval_time_picker.dart';

In your code you can then call:

showIntervalTimePicker(
    context: context,
    initialTime: TimeOfDay.fromDateTime(DateTime.now()),
    interval: 5,
    visibleStep: VisibleStep.fifths,
);
Explanation

This package adds two parameters:

  • interval
  • visibleStep

In most cases it is recommended to set the Interval and VisibleStep as the same: i.e. respectively 5 and VisibleStep.fifths or 12 and VisibleStep.twelfths.

Interval

The interval parameter is the steps the Interval Time Picker uses when validating the chosen time (minutes) as well as the steps it rounds off to.
The default and minimum value is 1 minute. The maximum is 60 minutes.

It is actually possible to also use an interval that is not a factor of 60.
So i.e., if you want to use 7 you can use that as well. In that case the highest pickable minute is 56 and going higher will pick 0.

This package also fixes the issue that individual minutes are only selectable by dragging the ring:
Flutter issue #62424

VisibleStep

The visibleStep parameter is the minute labels that are visible on the ring. Choose the steps by using the VisibleStep enum.
The options are a factor of 60 with 5 being the lowest and 60 (shown as 00) being the highest. The default value is VisibleStep.fifths.

Disclaimers
  • If the initial minute is not a multiplication of the interval it will still pick that minute. So handle this yourself when calling showIntervalTimePicker.
Contributions
  • https://github.com/markj
  • https://github.com/MarkCLinovy
  • https://github.com/nilsreichardt
  • https://github.com/hromov
  • https://github.com/harshgmx47
  • https://github.com/pamafe1976

Categories

Source repository

Projects using this package