improvements for flutter 3.3

This commit is contained in:
Thomas Klein Langenhorst 2022-09-01 09:13:03 +02:00
parent f30df19735
commit f90e67fa91
8 changed files with 55 additions and 64 deletions

View file

@ -21,6 +21,6 @@
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>9.0</string>
<string>11.0</string>
</dict>
</plist>

View file

@ -272,7 +272,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@ -350,7 +350,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@ -399,7 +399,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;

View file

@ -7,7 +7,7 @@ packages:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.8.2"
version: "2.9.0"
boolean_selector:
dependency: transitive
description:
@ -21,21 +21,14 @@ packages:
name: characters
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
version: "1.2.1"
clock:
dependency: transitive
description:
name: clock
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
version: "1.1.1"
collection:
dependency: transitive
description:
@ -56,7 +49,7 @@ packages:
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
version: "1.3.1"
flutter:
dependency: "direct main"
description: flutter
@ -101,28 +94,28 @@ packages:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.11"
version: "0.12.12"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.4"
version: "0.1.5"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.7.0"
version: "1.8.0"
path:
dependency: transitive
description:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.1"
version: "1.8.2"
sky_engine:
dependency: transitive
description: flutter
@ -134,7 +127,7 @@ packages:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.2"
version: "1.9.0"
stack_trace:
dependency: transitive
description:
@ -155,21 +148,21 @@ packages:
name: string_scanner
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
version: "1.1.1"
term_glyph:
dependency: transitive
description:
name: term_glyph
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
version: "1.2.1"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.9"
version: "0.4.12"
vector_math:
dependency: transitive
description:

View file

@ -113,7 +113,7 @@ import 'package:intl/date_symbol_data_local.dart';
class DateTimePicker extends StatefulWidget {
DateTimePicker({
required this.child,
this.weekDateBoxSize = 12,
this.weekDateBoxSize = 35,
this.monthDateBoxSize = 45,
this.header,
this.onTapDay,
@ -139,8 +139,8 @@ class DateTimePicker extends StatefulWidget {
final bool pickTime;
final double? dateBoxSize;
final DateBoxShape dateBoxShape;
final double? weekDateBoxSize;
final double? monthDateBoxSize;
final double weekDateBoxSize;
final double monthDateBoxSize;
final DateTime? initialDate;
final List<DateTime>? markedDates;
final List<DateTime>? disabledDates;
@ -153,6 +153,9 @@ class DateTimePicker extends StatefulWidget {
class _DateTimePickerState extends State<DateTimePicker> {
late DateTimePickerController _dateTimePickerController;
final DraggableScrollableController _dragController =
DraggableScrollableController();
@override
void initState() {
super.initState();
@ -182,6 +185,7 @@ class _DateTimePickerState extends State<DateTimePicker> {
@override
void dispose() {
_dateTimePickerController.dispose();
_dragController.dispose();
super.dispose();
}
@ -193,12 +197,14 @@ class _DateTimePickerState extends State<DateTimePicker> {
RotatedBox(
quarterTurns: 2,
child: DraggableScrollableSheet(
controller: _dateTimePickerController.getDragController(),
controller: _dragController,
snap: true,
minChildSize: 0.26,
initialChildSize: 0.26,
minChildSize: 0.2,
initialChildSize: 0.2,
maxChildSize: 0.68,
builder: (context, scrollController) {
double dragSize =
_dragController.isAttached ? _dragController.size : 0;
return RotatedBox(
quarterTurns: 2,
child: Stack(
@ -223,20 +229,16 @@ class _DateTimePickerState extends State<DateTimePicker> {
),
],
),
child: _dateTimePickerController
.getDragController()
.size <
0.3
child: dragSize < 0.3
? WeekDateTimePickerSheet(
dateTimePickerController:
_dateTimePickerController,
weekDateBoxSize: widget.weekDateBoxSize ?? 12,
weekDateBoxSize: widget.weekDateBoxSize,
)
: MonthDateTimePickerSheet(
dateTimePickerController:
_dateTimePickerController,
monthDateBoxSize:
widget.monthDateBoxSize ?? 45,
monthDateBoxSize: widget.monthDateBoxSize,
),
),
),

View file

@ -17,8 +17,7 @@ class DateTimePickerController extends ChangeNotifier {
required this.selectedDate,
});
final DraggableScrollableController _dragController =
DraggableScrollableController();
final PageController _pageController = PageController(initialPage: 1);
final bool highlightToday;
@ -41,7 +40,6 @@ class DateTimePickerController extends ChangeNotifier {
@override
void dispose() {
_pageController.dispose();
_dragController.dispose();
super.dispose();
}
@ -71,10 +69,6 @@ class DateTimePickerController extends ChangeNotifier {
}
}
DraggableScrollableController getDragController() {
return _dragController;
}
PageController getPageController() {
return _pageController;
}

View file

@ -106,8 +106,8 @@ class MonthDateTimePicker extends StatelessWidget {
borderRadius:
_determineBorderRadius(dateTimePickerController),
),
height: 45,
width: 45,
height: monthDateBoxSize,
width: monthDateBoxSize,
child: Stack(
children: [
Center(

View file

@ -37,7 +37,7 @@ class MonthDateTimePickerSheet extends StatelessWidget {
),
SizedBox(
width: MediaQuery.of(context).size.width,
height: 300,
height: MediaQuery.of(context).size.height * 0.33,
child: PageView(
controller: dateTimePickerController.getPageController(),
onPageChanged: (i) {
@ -70,7 +70,7 @@ class MonthDateTimePickerSheet extends StatelessWidget {
dateTimePickerController.browsingDate.year - 1, 12, 1)
: DateTime(dateTimePickerController.browsingDate.year,
dateTimePickerController.browsingDate.month - 1, 1),
monthDateBoxSize: monthDateBoxSize,
monthDateBoxSize: monthDateBoxSize,
dateTimePickerController: dateTimePickerController),
MonthDateTimePicker(
date: DateTime(
@ -81,17 +81,16 @@ class MonthDateTimePickerSheet extends StatelessWidget {
dateTimePickerController: dateTimePickerController,
monthDateBoxSize: monthDateBoxSize),
MonthDateTimePicker(
date: dateTimePickerController.browsingDate.month == 12
? DateTime(
dateTimePickerController.browsingDate.year + 1,
1,
1,
)
: DateTime(dateTimePickerController.browsingDate.year,
dateTimePickerController.browsingDate.month + 1, 1),
dateTimePickerController: dateTimePickerController,
monthDateBoxSize: monthDateBoxSize
),
date: dateTimePickerController.browsingDate.month == 12
? DateTime(
dateTimePickerController.browsingDate.year + 1,
1,
1,
)
: DateTime(dateTimePickerController.browsingDate.year,
dateTimePickerController.browsingDate.month + 1, 1),
dateTimePickerController: dateTimePickerController,
monthDateBoxSize: monthDateBoxSize),
],
),
),

View file

@ -91,7 +91,10 @@ class WeekDateTimePicker extends StatelessWidget {
);
});
} else {
timeOfDay = TimeOfDay(hour: 0, minute: 0);
timeOfDay = TimeOfDay(
hour: 0,
minute: 0,
);
}
DateTime selectedDateTime = DateTime(
@ -120,8 +123,8 @@ class WeekDateTimePicker extends StatelessWidget {
),
const Spacer(),
Container(
height: 35,
width: 35,
height: weekDateBoxSize,
width: weekDateBoxSize,
decoration: BoxDecoration(
color: calendarColors['backgroundColor'],
borderRadius:
@ -142,8 +145,8 @@ class WeekDateTimePicker extends StatelessWidget {
Align(
alignment: Alignment.bottomRight,
child: Container(
width: weekDateBoxSize,
height: weekDateBoxSize,
width: weekDateBoxSize / 3,
height: weekDateBoxSize / 3,
decoration: BoxDecoration(
color: Theme.of(context).indicatorColor,
borderRadius:
@ -235,7 +238,7 @@ class WeekDateTimePicker extends StatelessWidget {
case DateBoxShape.rectangle:
return BorderRadius.zero;
case DateBoxShape.roundedRectangle:
return BorderRadius.circular(weekDateBoxSize / 1.5);
return BorderRadius.circular(weekDateBoxSize / 4.5);
}
}
}