diff --git a/example/ios/Flutter/flutter_export_environment.sh b/example/ios/Flutter/flutter_export_environment.sh index da2211a4..4926cd5b 100755 --- a/example/ios/Flutter/flutter_export_environment.sh +++ b/example/ios/Flutter/flutter_export_environment.sh @@ -1,16 +1,13 @@ #!/bin/sh # This is a generated file; do not edit or check into version control. -export "FLUTTER_ROOT=/Users/liuyanbo/flutter" -export "FLUTTER_APPLICATION_PATH=/Users/liuyanbo/Documents/GitHub/flutter_datetime_picker/example" -export "FLUTTER_TARGET=/Users/liuyanbo/Documents/GitHub/flutter_datetime_picker/example/lib/main.dart" +export "FLUTTER_ROOT=/home/alex/flutter" +export "FLUTTER_APPLICATION_PATH=/storage2/code/flutter_datetime_picker/example" +export "COCOAPODS_PARALLEL_CODE_SIGN=true" +export "FLUTTER_TARGET=lib/main.dart" export "FLUTTER_BUILD_DIR=build" -export "SYMROOT=${SOURCE_ROOT}/../build/ios" -export "OTHER_LDFLAGS=$(inherited) -framework Flutter" -export "FLUTTER_FRAMEWORK_DIR=/Users/liuyanbo/flutter/bin/cache/artifacts/engine/ios" export "FLUTTER_BUILD_NAME=1.0.0" export "FLUTTER_BUILD_NUMBER=1" -export "DART_DEFINES=flutter.inspector.structuredErrors%3Dtrue" export "DART_OBFUSCATION=false" export "TRACK_WIDGET_CREATION=true" export "TREE_SHAKE_ICONS=false" -export "PACKAGE_CONFIG=.packages" +export "PACKAGE_CONFIG=.dart_tool/package_config.json" diff --git a/example/lib/main.dart b/example/lib/main.dart index 1ab0e793..68261b5a 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/material.dart' as material; import 'package:flutter_datetime_picker/flutter_datetime_picker.dart'; -void main() => runApp(new MyApp()); +void main() => material.runApp(new MyApp()); class CustomPicker extends CommonPickerModel { String digits(int value, int length) { @@ -78,57 +78,57 @@ class CustomPicker extends CommonPickerModel { } } -class MyApp extends StatelessWidget { +class MyApp extends material.StatelessWidget { // This widget is the root of your application. @override - Widget build(BuildContext context) { - return new MaterialApp( + material.Widget build(material.BuildContext context) { + return new material.MaterialApp( title: 'Flutter Demo', - theme: new ThemeData( - primarySwatch: Colors.blue, + theme: new material.ThemeData( + primarySwatch: material.Colors.blue, ), home: new HomePage(), ); } } -class HomePage extends StatelessWidget { +class HomePage extends material.StatelessWidget { @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: Text('Datetime Picker'), + material.Widget build(material.BuildContext context) { + return material.Scaffold( + appBar: material.AppBar( + title: material.Text('Datetime Picker'), ), - body: Center( - child: Column( - children: [ - TextButton( + body: material.Center( + child: material.Column( + children: [ + material.TextButton( onPressed: () { DatePicker.showDatePicker(context, showTitleActions: true, minTime: DateTime(2018, 3, 5), maxTime: DateTime(2019, 6, 7), theme: DatePickerTheme( - headerColor: Colors.orange, - backgroundColor: Colors.blue, - itemStyle: TextStyle( - color: Colors.white, - fontWeight: FontWeight.bold, + headerColor: material.Colors.orange, + backgroundColor: material.Colors.blue, + itemStyle: material.TextStyle( + color: material.Colors.white, + fontWeight: material.FontWeight.bold, fontSize: 18), - doneStyle: - TextStyle(color: Colors.white, fontSize: 16)), - onChanged: (date) { + doneStyle: material.TextStyle( + color: material.Colors.white, + fontSize: 16)), onChanged: (date) { print('change $date in time zone ' + date.timeZoneOffset.inHours.toString()); }, onConfirm: (date) { print('confirm $date'); }, currentTime: DateTime.now(), locale: LocaleType.en); }, - child: Text( + child: material.Text( 'show date picker(custom theme &date time range)', - style: TextStyle(color: Colors.blue), + style: material.TextStyle(color: material.Colors.blue), )), - TextButton( + material.TextButton( onPressed: () { DatePicker.showTimePicker(context, showTitleActions: true, onChanged: (date) { @@ -138,11 +138,11 @@ class HomePage extends StatelessWidget { print('confirm $date'); }, currentTime: DateTime.now()); }, - child: Text( + child: material.Text( 'show time picker', - style: TextStyle(color: Colors.blue), + style: material.TextStyle(color: material.Colors.blue), )), - TextButton( + material.TextButton( onPressed: () { DatePicker.showTime12hPicker(context, showTitleActions: true, onChanged: (date) { @@ -152,11 +152,11 @@ class HomePage extends StatelessWidget { print('confirm $date'); }, currentTime: DateTime.now()); }, - child: Text( + child: material.Text( 'show 12H time picker with AM/PM', - style: TextStyle(color: Colors.blue), + style: material.TextStyle(color: material.Colors.blue), )), - TextButton( + material.TextButton( onPressed: () { DatePicker.showDateTimePicker(context, showTitleActions: true, @@ -168,11 +168,11 @@ class HomePage extends StatelessWidget { print('confirm $date'); }, locale: LocaleType.zh); }, - child: Text( + child: material.Text( 'show date time picker (Chinese)', - style: TextStyle(color: Colors.blue), + style: material.TextStyle(color: material.Colors.blue), )), - TextButton( + material.TextButton( onPressed: () { DatePicker.showDateTimePicker(context, showTitleActions: true, onChanged: (date) { @@ -182,11 +182,11 @@ class HomePage extends StatelessWidget { print('confirm $date'); }, currentTime: DateTime(2008, 12, 31, 23, 12, 34)); }, - child: Text( + child: material.Text( 'show date time picker (English-America)', - style: TextStyle(color: Colors.blue), + style: material.TextStyle(color: material.Colors.blue), )), - TextButton( + material.TextButton( onPressed: () { DatePicker.showDateTimePicker(context, showTitleActions: true, onChanged: (date) { @@ -198,11 +198,11 @@ class HomePage extends StatelessWidget { currentTime: DateTime(2008, 12, 31, 23, 12, 34), locale: LocaleType.nl); }, - child: Text( + child: material.Text( 'show date time picker (Dutch)', - style: TextStyle(color: Colors.blue), + style: material.TextStyle(color: material.Colors.blue), )), - TextButton( + material.TextButton( onPressed: () { DatePicker.showDateTimePicker(context, showTitleActions: true, onChanged: (date) { @@ -214,11 +214,11 @@ class HomePage extends StatelessWidget { currentTime: DateTime(2008, 12, 31, 23, 12, 34), locale: LocaleType.ru); }, - child: Text( + child: material.Text( 'show date time picker (Russian)', - style: TextStyle(color: Colors.blue), + style: material.TextStyle(color: material.Colors.blue), )), - TextButton( + material.TextButton( onPressed: () { DatePicker.showDateTimePicker(context, showTitleActions: true, onChanged: (date) { @@ -230,11 +230,11 @@ class HomePage extends StatelessWidget { currentTime: DateTime.utc(2019, 12, 31, 23, 12, 34), locale: LocaleType.de); }, - child: Text( + child: material.Text( 'show date time picker in UTC (German)', - style: TextStyle(color: Colors.blue), + style: material.TextStyle(color: material.Colors.blue), )), - TextButton( + material.TextButton( onPressed: () { DatePicker.showPicker(context, showTitleActions: true, onChanged: (date) { @@ -246,9 +246,9 @@ class HomePage extends StatelessWidget { pickerModel: CustomPicker(currentTime: DateTime.now()), locale: LocaleType.en); }, - child: Text( + child: material.Text( 'show custom time picker,\nyou can custom picker model like this', - style: TextStyle(color: Colors.blue), + style: material.TextStyle(color: material.Colors.blue), )), ], ), diff --git a/lib/flutter_datetime_picker.dart b/lib/flutter_datetime_picker.dart index dba6b566..138c1f58 100644 --- a/lib/flutter_datetime_picker.dart +++ b/lib/flutter_datetime_picker.dart @@ -3,8 +3,8 @@ library flutter_datetime_picker; import 'dart:async'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/painting.dart'; -import 'package:flutter_datetime_picker/src/datetime_picker_theme.dart'; +import 'package:flutter_datetime_picker/src/datetime_picker_theme.dart' + as picker; import 'package:flutter_datetime_picker/src/date_model.dart'; import 'package:flutter_datetime_picker/src/i18n_model.dart'; @@ -30,11 +30,13 @@ class DatePicker { DateCancelledCallback? onCancel, locale: LocaleType.en, DateTime? currentTime, - DatePickerTheme? theme, + picker.DatePickerTheme? theme, + RouteSettings? settings, }) async { return await Navigator.push( context, _DatePickerRoute( + settings: settings, showTitleActions: showTitleActions, onChanged: onChanged, onConfirm: onConfirm, @@ -65,11 +67,13 @@ class DatePicker { DateCancelledCallback? onCancel, locale: LocaleType.en, DateTime? currentTime, - DatePickerTheme? theme, + picker.DatePickerTheme? theme, + RouteSettings? settings, }) async { return await Navigator.push( context, _DatePickerRoute( + settings: settings, showTitleActions: showTitleActions, onChanged: onChanged, onConfirm: onConfirm, @@ -98,11 +102,13 @@ class DatePicker { DateCancelledCallback? onCancel, locale: LocaleType.en, DateTime? currentTime, - DatePickerTheme? theme, + picker.DatePickerTheme? theme, + RouteSettings? settings, }) async { return await Navigator.push( context, _DatePickerRoute( + settings: settings, showTitleActions: showTitleActions, onChanged: onChanged, onConfirm: onConfirm, @@ -132,11 +138,13 @@ class DatePicker { DateCancelledCallback? onCancel, locale: LocaleType.en, DateTime? currentTime, - DatePickerTheme? theme, + picker.DatePickerTheme? theme, + RouteSettings? settings, }) async { return await Navigator.push( context, _DatePickerRoute( + settings: settings, showTitleActions: showTitleActions, onChanged: onChanged, onConfirm: onConfirm, @@ -166,11 +174,13 @@ class DatePicker { DateCancelledCallback? onCancel, locale: LocaleType.en, BasePickerModel? pickerModel, - DatePickerTheme? theme, + picker.DatePickerTheme? theme, + RouteSettings? settings, }) async { return await Navigator.push( context, _DatePickerRoute( + settings: settings, showTitleActions: showTitleActions, onChanged: onChanged, onConfirm: onConfirm, @@ -191,13 +201,13 @@ class _DatePickerRoute extends PopupRoute { this.onChanged, this.onConfirm, this.onCancel, - DatePickerTheme? theme, + picker.DatePickerTheme? theme, this.barrierLabel, this.locale, RouteSettings? settings, BasePickerModel? pickerModel, }) : this.pickerModel = pickerModel ?? DatePickerModel(), - this.theme = theme ?? DatePickerTheme(), + this.theme = theme ?? picker.DatePickerTheme(), super(settings: settings); final bool? showTitleActions; @@ -205,7 +215,7 @@ class _DatePickerRoute extends PopupRoute { final DateChangedCallback? onConfirm; final DateCancelledCallback? onCancel; final LocaleType? locale; - final DatePickerTheme theme; + final picker.DatePickerTheme theme; final BasePickerModel pickerModel; @override @@ -293,7 +303,7 @@ class _DatePickerState extends State<_DatePickerComponent> { @override Widget build(BuildContext context) { - DatePickerTheme theme = widget.route.theme; + picker.DatePickerTheme theme = widget.route.theme; return GestureDetector( child: AnimatedBuilder( animation: widget.route.animation!, @@ -326,7 +336,7 @@ class _DatePickerState extends State<_DatePickerComponent> { } } - Widget _renderPickerView(DatePickerTheme theme) { + Widget _renderPickerView(picker.DatePickerTheme theme) { Widget itemView = _renderItemView(theme); if (widget.route.showTitleActions == true) { return Column( @@ -341,7 +351,7 @@ class _DatePickerState extends State<_DatePickerComponent> { Widget _renderColumnView( ValueKey key, - DatePickerTheme theme, + picker.DatePickerTheme theme, StringAtIndexCallBack stringAtIndexCB, ScrollController scrollController, int layoutProportion, @@ -396,7 +406,7 @@ class _DatePickerState extends State<_DatePickerComponent> { ); } - Widget _renderItemView(DatePickerTheme theme) { + Widget _renderItemView(picker.DatePickerTheme theme) { return Container( color: theme.backgroundColor, child: Directionality( @@ -471,7 +481,7 @@ class _DatePickerState extends State<_DatePickerComponent> { } // Title View - Widget _renderTitleActionsView(DatePickerTheme theme) { + Widget _renderTitleActionsView(picker.DatePickerTheme theme) { final done = _localeDone(); final cancel = _localeCancel(); @@ -543,7 +553,7 @@ class _BottomPickerLayout extends SingleChildLayoutDelegate { final double progress; final int? itemCount; final bool? showTitleActions; - final DatePickerTheme theme; + final picker.DatePickerTheme theme; final double bottomPadding; @override