パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v0.4.3

flutter_date_pickers

日、週、範囲、月の日付ピッカー用のFlutterパッケージ。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
2.7万
いいね数
158
Pub ポイント
150

パッケージをインストール

flutter pub add flutter_date_pickers

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

日、週、日付範囲、月の選択に使えるカスタマイズ可能な日付ピッカーを提供するFlutterパッケージです。Android、iOS、Web、macOS、Windows、Linuxなど複数のプラットフォームをサポートしています。Flutterアプリへの簡単な統合が可能な一貫性があり直感的な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 件

ソースリポジトリ

このパッケージを使用しているプロジェクト