Skip to content

Commit de66d52

Browse files
committed
Landscape Orientation Support #3
- Initialize breakpoints correctly. - Calculate breakpoint updates correctly.
1 parent 2bfd7ad commit de66d52

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

lib/responsive_wrapper.dart

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -195,8 +195,8 @@ class _ResponsiveWrapperState extends State<ResponsiveWrapper>
195195

196196
TargetPlatform get platform => Theme.of(context).platform;
197197

198-
late List<ResponsiveBreakpoint> breakpoints;
199-
late List<ResponsiveBreakpointSegment> breakpointSegments;
198+
List<ResponsiveBreakpoint> breakpoints = [];
199+
List<ResponsiveBreakpointSegment> breakpointSegments = [];
200200

201201
/// Get screen width calculation.
202202
double screenWidth = 0;
@@ -422,7 +422,7 @@ class _ResponsiveWrapperState extends State<ResponsiveWrapper>
422422
/// Default fullscreen enabled.
423423
get fullscreen => widget.maxWidth == null;
424424

425-
Orientation get orientation => (screenWidth > screenHeight)
425+
Orientation get orientation => (windowWidth > windowHeight)
426426
? Orientation.landscape
427427
: Orientation.portrait;
428428

@@ -488,8 +488,10 @@ class _ResponsiveWrapperState extends State<ResponsiveWrapper>
488488

489489
/// Set [breakpoints] and [breakpointSegments].
490490
void setBreakpoints() {
491-
breakpoints = getActiveBreakpoints();
492-
breakpointSegments = calcBreakpointSegments(breakpoints);
491+
breakpoints.clear();
492+
breakpointSegments.clear();
493+
breakpoints.addAll(getActiveBreakpoints());
494+
breakpointSegments.addAll(calcBreakpointSegments(breakpoints));
493495
}
494496

495497
@override
@@ -510,7 +512,6 @@ class _ResponsiveWrapperState extends State<ResponsiveWrapper>
510512
widget.landscapeBreakpoints ?? [];
511513
List<ResponsiveBreakpointSegment> landscapeBreakpointSegments =
512514
calcBreakpointSegments(landscapeBreakpoints);
513-
print('Landscape Breakpoints:');
514515
ResponsiveUtils.debugLogBreakpointSegments(landscapeBreakpointSegments);
515516
}
516517
}
@@ -534,14 +535,14 @@ class _ResponsiveWrapperState extends State<ResponsiveWrapper>
534535
@override
535536
void didChangeMetrics() {
536537
super.didChangeMetrics();
538+
setBreakpoints();
537539
// When physical dimensions change, update state.
538540
// The required MediaQueryData is only available
539541
// on the next frame for physical dimension changes.
540542
WidgetsBinding.instance!.addPostFrameCallback((_) {
541543
// Widget could be destroyed by resize. Verify widget
542544
// exists before updating dimensions.
543545
if (mounted) {
544-
setBreakpoints();
545546
setDimensions();
546547
setState(() {});
547548
}

0 commit comments

Comments
 (0)