date_picker_plus 1.0.1
date_picker_plus: ^1.0.1 copied to clipboard
A Flutter library that provides a customizable Material Design date picker widget.
example/lib/main.dart
import 'package:date_picker_plus/date_picker_plus.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:intl/intl.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
locale: const Locale('en'),
localizationsDelegates: GlobalMaterialLocalizations.delegates,
supportedLocales: const [
Locale('en'),
Locale('ar'),
Locale('zh'),
],
theme: ThemeData.light(useMaterial3: true),
home: const MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key});
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
DateTime? selectedDate;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
if (selectedDate != null)
Text(DateFormat(
'MMM dd, yy',
).format(selectedDate!)),
TextButton(
onPressed: () async {
final date = await showDatePickerDialog(
context: context,
initialDate: DateTime.now(),
maxDate: DateTime.now().add(const Duration(days: 365 * 3)),
minDate:
DateTime.now().subtract(const Duration(days: 365 * 3)),
);
if (date != null) {
setState(() {
selectedDate = date;
});
}
},
child: const Text('Show Picker'),
),
],
),
),
);
}
}