GithubHelp home page GithubHelp logo

sahej-dev / duration_picker_dialog_box Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ashutosh2014/duration_picker_dialog_box

0.0 0.0 0.0 254 KB

Duration Picker Dialog Box (Simplified & Material3)

License: MIT License

C++ 27.32% C 0.96% Objective-C 0.05% Kotlin 0.17% Dart 55.27% Swift 0.54% HTML 4.97% CMake 10.71%

duration_picker_dialog_box's Introduction

Dialog Box for picking Duration via UI.

This is a fork of https://github.com/ashutosh2014/duration_picker_dialog_box. I had to make some modifications in the original for use in a project of my own.

DialogBox allow user to select any of Duration fields like -

  1. Days
  2. Hours
  3. Minutes
  4. Seconds
  5. MilliSeconds
  6. MicroSeconds

Example Usage

It will show a dialog box for duration with Duration(days: 7, minutes: 32, hours: 23, seconds: 54, milliseconds: 23, microseconds: 434) initialized. Now user can change it as per need.

import 'package:flutter/material.dart';
import 'package:duration_picker/duration_picker/duration_picker.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

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

  final String? title;

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

class _MyHomePageState extends State<MyHomePage> {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title!),
      ),
      body: Center(
          child:
          TextButton(
            onPressed: () async{
              showDurationPicker(context: context, initialDuration: Duration(days: 7, minutes: 32, hours: 23, seconds: 54, milliseconds: 23, microseconds: 434));
            },
            child: Text("Show Duration Box "),
          )
      ),
      floatingActionButton: FloatingActionButton(
        tooltip: 'Increment',
        onPressed: () {  },
        child: Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

Sample Image

Sample Image

User can also use Duration Picker Mode as per Need.

_DurationPickerMode { 
    Day, 
    Hour, 
    Minute, 
    Second, 
    MilliSecond, 
    MicroSecond }

Like as below..

showDurationPicker(
   context: context,
   initialDuration: Duration(),
   durationPickerMode: DurationPickerMode.Hour);

User can also use Duration Picker as a Widget usig below code.

DurationPicker(
    duration: _duration,
    onChange: (value) {
        setState(() {
            _duration = value;
        });
    },
)

Sample Image

duration_picker_dialog_box's People

Contributors

sahej-dev avatar ashutosh2014 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.