flutter_holo_date_picker 1.0.5+a flutter_holo_date_picker: ^1.0.5+a copied to clipboard
A Flutter package of Datepicker that looks like Holo Theme in Android.
import 'package:flutter/material.dart';
import 'package:flutter_holo_date_picker/flutter_holo_date_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: 'example',
theme: ThemeData(primarySwatch: Colors.blue),
// home: DateTesting(),
home: Scaffold(
appBar: AppBar(
title: Text('Holo Datepicker Example'),
),
body: MyHomePage(),
),
debugShowCheckedModeBanner: false,
);
}
}
class MyHomePage extends StatelessWidget {
Widget build(BuildContext context) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
ElevatedButton(
child: Text("open picker dialog"),
onPressed: () async {
var datePicked = await DatePicker.showSimpleDatePicker(
context,
initialDate: DateTime(1994),
firstDate: DateTime(1960),
lastDate: DateTime(2012),
dateFormat: "dd-MMMM-yyyy",
locale: DateTimePickerLocale.en_us,
looping: true,
);
final snackBar =
SnackBar(content: Text("Date Picked $datePicked"));
ScaffoldMessenger.of(context).showSnackBar(snackBar);
},
),
ElevatedButton(
child: Text("Show picker widget"),
onPressed: () {
Navigator.push(
context, MaterialPageRoute(builder: (_) => WidgetPage()));
},
)
],
),
);
}
}
class WidgetPage extends StatefulWidget {
@override
_WidgetPageState createState() => _WidgetPageState();
}
class _WidgetPageState extends State<WidgetPage> {
DateTime? _selectedDate;
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: FractionalOffset.topCenter,
end: FractionalOffset.bottomCenter,
colors: [
Colors.grey[900]!,
Colors.black,
],
stops: const [0.7, 1.0],
)),
child: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Container(
padding: const EdgeInsets.symmetric(horizontal: 25),
child: DatePickerWidget(
looping: false, // default is not looping
firstDate: DateTime.now(), //DateTime(1960),
// lastDate: DateTime(2002, 1, 1),
// initialDate: DateTime.now(),// DateTime(1994),
dateFormat:
// "MM-dd(E)",
"dd/MMMM/yyyy",
// locale: DatePicker.localeFromString('he'),
onChange: (DateTime newDate, _) {
setState(() {
_selectedDate = newDate;
});
print(_selectedDate);
},
pickerTheme: DateTimePickerTheme(
backgroundColor: Colors.transparent,
itemTextStyle:
TextStyle(color: Colors.white, fontSize: 19),
dividerColor: Colors.white,
),
),
),
Text("${_selectedDate ?? ''}"),
],
),
),
),
),
);
//var locale = "zh";
// return SafeArea(
// child: Scaffold(
// body: Center(
// child: DatePickerWidget(
// locale: //locale == 'zh'
// DateTimePickerLocale.zh_cn
// // DateTimePickerLocale.en_us
// ,
// lastDate: DateTime.now(),
// // dateFormat: "yyyy : MMM : dd",
// // dateFormat: 'yyyy MMMM dd',
// onChange: (DateTime newDate, _) {
// setState(() {
// var dob = newDate.toString();
// print(dob);
// });
// },
// pickerTheme: DateTimePickerTheme(
// backgroundColor: Colors.transparent,
// dividerColor: const Color(0xffe3e3e3),
// itemTextStyle: TextStyle(
// fontFamily: 'NotoSansTC',
// fontSize: 18,
// fontWeight: FontWeight.w500,
// color: Theme.of(context).primaryColor,
// ),
// ),
// ),
// ),
// ),
// );
}
}