Pakete, Repositories und App-Kategorien suchen

Cover von duration_picker
Paketdetailsv2.0.0

duration_picker

Ein Zeitwähler-Widget, das sowohl Minuten als auch Stunden auswählen kann. Fork von flutter_duration_picker.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
10.100
Likes
126
Pub-Punkte
160

Paket installieren

flutter pub add duration_picker

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein Flutter-Widget zur Auswahl von Zeiträumen in Stunden und Minuten, abgeleitet von flutter_duration_picker. Es bietet eine saubere, intuitive Benutzeroberfläche, um Zeitintervalle auszuwählen, ideal für Einstellungen wie Timer, Aufgabendauern oder Terminlängen. Der Picker unterstützt alle wichtigen Plattformen, einschließlich Mobilgeräte, Web und Desktop. Entwickelt mit Fokus auf Einfachheit und Konsistenz, lässt er sich nahtlos in Apps integrieren, die Dauerangaben erfordern, ohne komplizierte Einrichtung.

Anwendungsfälle

  • Timer-Dauern festlegen
  • Konfigurieren von Aufgabenlängenpräferenzen
  • Terminlänge planen
  • Eingabe von Trainings-Sessions-Zeiten
  • Anpassen der Wiedergabedauer
  • Definieren von Verzögerungsintervallen

Hauptmerkmale

  • Stunden und Minuten auswählen
  • Plattformübergreifende Kompatibilität
  • Einfache Integration
  • Reines UI-Design
  • Fork mit erhaltenen Aktualisierungen
  • Unterstützt alle Flutter-Plattformen

Geeignet für

  • Apps, die eine Zeitintervall-Auswahl erfordern
  • Produktivitäts- oder Fitness-Anwendungen
  • Kalender- oder Terminplanungstools
  • Timer- oder Erinnerungsfunktionen
  • Entwickler, die einen leichten Dauerpicker suchen

Hinweise

  • Beschränkt auf Stunden und Minuten
  • Keine Sekundenunterstützung
  • Benötigt manuelle Handhabung von Dauerwerten
  • Nicht geeignet für sehr lange Dauer
  • Abhängig von der Stabilität des forkten Repositorys
  • Keine integrierte Validierung

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Duration Picker for flutter

Fork from flutter_duration_picker. https://github.com/cdharris/flutter_duration_picker

A little widget for picking durations. Heavily inspired from the Material Design time picker widget.

How to setup localization

In order to support other languages, developers need to configure localization settings like the settings for the time picker. Example for english and korean:

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Duration Picker Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      localizationsDelegates: [
        DurationPickerLocalizations.delegate,
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
      ],
      supportedLocales: [Locale('en'), Locale('ko')],
      home: const MyHomePage(title: 'Duration Picker Demo'),
    );
  }
}

How to add more languages

  1. Add a localizations class in localizataions dir.
class DurationPickerLocalizationsKo extends DurationPickerLocalizations {
  @override
  String get baseUnitHour => '시간';

  @override
  String get baseUnitMillisecond => '밀리초';

  ...
}

The class should extend DurationPickerLocalizations. This makes it easy to write everything you should write.

  1. Add the language code to the supportedLocales array in _DurationPickerLocalizationDelegate.
class _DurationPickerLocalizationDelegate
    extends LocalizationsDelegate<DurationPickerLocalizations> {
  const _DurationPickerLocalizationDelegate();

  static const supportedLocales = ['en', 'ko'];

  ...

}
  1. Return a DurationPickerLocalizations implementation as locale at load method in _DurationPickerLocalizationDelegate.
@override
  Future<DurationPickerLocalizations> load(Locale locale) async {
    switch (locale.languageCode) {
      case 'ko':
        return DurationPickerLocalizationsKo();
      default:
        return DurationPickerLocalizationsEn();
    }
  }

Example Usage:

dependencies:
  duration_picker: "^1.0.0"
import 'package:flutter/material.dart';
import 'package:duration_picker/duration_picker.dart';

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

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

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  Duration _duration = Duration(hours: 0, minutes: 0);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Expanded(
                child: DurationPicker(
              duration: _duration,
              onChange: (val) {
                setState(() => _duration = val);
              },
            ))
          ],
        ),
      ),
      floatingActionButton: Builder(
          builder: (BuildContext context) => FloatingActionButton(
                onPressed: () async {
                  var resultingDuration = await showDurationPicker(
                    context: context,
                    initialTime: Duration(minutes: 30),
                  );
                  ScaffoldMessenger.of(context).showSnackBar(SnackBar(
                      content: Text('Chose duration: $resultingDuration')));
                },
                tooltip: 'Popup Duration Picker',
                child: Icon(Icons.add),
              )),
    );
  }
}

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden