搜索插件、代码仓与 APP 分类

flutter_time_picker_spinner 封面
插件详情v2.0.0

flutter_time_picker_spinner

使用旋转式控件代替默认的 Material 时钟选择器。此小部件支持 12 小时或 24 小时格式以及自定义间隔模式。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
2.3万
喜欢数
166
Pub 分数
130

安装插件

flutter pub add flutter_time_picker_spinner

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个可自定义的时间选择器小部件,适用于Flutter,使用旋转式界面而非默认的Material时间选择器。支持12小时制和24小时制,并允许设置自定义时间间隔,提供跨平台一致且简洁的用户界面。非常适合需要轻量级、可定制化时间选择组件但不依赖于平台特定选择器的应用。

适合场景

  • 表单中的自定义时间输入
  • 需要统一时间选择器的移动和Web应用程序
  • 具有非标准时间间隔的应用程序
  • 注重设计的界面需要一致的时间选择
  • 跨平台时间输入,统一外观

主要特点

  • 基于旋转器的时间选择
  • 支持 12/24 小时格式
  • 自定义间隔设置
  • 跨平台兼容性
  • 轻量且易于集成
  • 可通过主题和样式选项进行样式设置

适合对象

  • 寻求 Material 时间选择器替代方案的开发者
  • 需要在 Android、iOS 和 Web 上保持一致 UI 的项目
  • 具有特定时间间隔要求的应用程序
  • 以设计为导向的应用程序
  • 注重跨平台一致性的团队

使用建议

  • 仅限基本时间选择(在某些配置中无上午/下午标签)
  • 可能需要手动处理时间格式逻辑
  • 不适用于复杂的时段或持续时间输入
  • 除了时间范围外,没有内置验证
  • 依赖外部样式进行高级自定义

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

flutter_time_picker_spinner

Time Picker widget with spinner instead of a material time picker.

12H format

24H format

24H format with second

Custom style

Getting Started

This project is a starting point for a Dart package, a library module containing code that can be shared easily across multiple Flutter or Dart projects.

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

Props

props types defaultValues
time DateTime Current Time [ DateTime.now() ]
minutesInterval int 1
secondsInterval int 1
is24HourMode bool true
isShowSeconds bool false
isShowSeconds bool false
highlightedTextStyle TextStyle false
normalTextStyle TextStyle false
itemHeight double 60.0
itemWidth double 45.0
spacing double 20.0
alignment AlignmentGeometry Alignment.centerRight
isForce2Digits bool false
onTimeChange TimePickerCallback

Usage

import 'package:flutter_time_picker_spinner/flutter_time_picker_spinner.dart';

Widget widget() {
  return new TimePickerSpinner(
    is24HourMode: false,
    normalTextStyle: TextStyle(
      fontSize: 24,
      color: Colors.deepOrange
    ),
    highlightedTextStyle: TextStyle(
      fontSize: 24,
      color: Colors.yellow
    ),
    spacing: 50,
    itemHeight: 80,
    isForce2Digits: true,
    onTimeChange: (time) {
      setState(() {
        _dateTime = time;
      });
    },
  );
}

所属分类

源码仓库

使用此插件的项目

暂无相关数据。