Skip to content

Instantly share code, notes, and snippets.

@TheCoolNerd27
Created August 18, 2020 07:18
Show Gist options
  • Save TheCoolNerd27/1a21be92a6be637637b8117aac9f84a2 to your computer and use it in GitHub Desktop.
Save TheCoolNerd27/1a21be92a6be637637b8117aac9f84a2 to your computer and use it in GitHub Desktop.
DatePicker on TextField
import 'dart:async';
import 'package:flutter/material.dart';
var cont=new TextEditingController();
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
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> {
DateTime selectedDate = DateTime.parse('2020-07-20');
var cont=new TextEditingController();
@override
void initState()
{
super.initState();
cont.text=selectedDate.toString().substring(0,10);
}
Future<Null> _selectDate(BuildContext context) async {
final DateTime picked = await showDatePicker(
context: context,
initialDate: selectedDate,
firstDate: DateTime(2015, 8),
lastDate: DateTime(2101));
if (picked != null && picked != selectedDate)
setState(() {
selectedDate = picked;
cont.text=selectedDate.toString().substring(0,10);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
//Text("${selectedDate.toLocal()}".split(' ')[0]),
SizedBox(height: 20.0,),
TextField(
controller:cont,
onTap:(){_selectDate(context);},
),
],
),
),
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment