Skip to content

Commit c746b3e

Browse files
committed
MediaQueryData Update Listener
*Update wrapper dimensions when a parent MediaQueryData changes.
1 parent 35ff8f1 commit c746b3e

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

lib/responsive_framework.dart

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,14 +314,26 @@ class _ResponsiveWrapperState extends State<ResponsiveWrapper>
314314
@override
315315
void didChangeMetrics() {
316316
super.didChangeMetrics();
317-
// Required MediaQueryData is only updated
318-
// on the next frame.
317+
// When physical dimensions change, update state.
318+
// The required MediaQueryData is only available
319+
// on the next frame for physical dimension changes.
319320
WidgetsBinding.instance.addPostFrameCallback((_) {
320321
setDimensions();
321322
setState(() {});
322323
});
323324
}
324325

326+
@override
327+
void didUpdateWidget(ResponsiveWrapper oldWidget) {
328+
super.didUpdateWidget(oldWidget);
329+
// When [ResponsiveWrapper]'s constructor is
330+
// used directly in the widget tree and a parent
331+
// MediaQueryData changes, update state.
332+
// The screen dimensions are passed immediately.
333+
setDimensions();
334+
setState(() {});
335+
}
336+
325337
@override
326338
Widget build(BuildContext context) {
327339
return (screenWidth ==

0 commit comments

Comments
 (0)