Skip to content

Commit 6a39cba

Browse files
committed
Create Alignment Parameter
*Expose alignment parameter for internal Stack.
1 parent 48effee commit 6a39cba

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

lib/responsive_wrapper.dart

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,12 @@ class ResponsiveWrapper extends StatefulWidget {
7070
final Color backgroundColor;
7171
final MediaQueryData mediaQueryData;
7272
final bool shrinkWrap;
73+
74+
/// Control the internal Stack alignment. The ResponsiveWrapper
75+
/// uses a Stack to enable child widgets to resize.
76+
/// Defaults to [Alignment.topCenter] because app
77+
/// content is usually top aligned.
78+
final Alignment alignment;
7379
final bool debugLog;
7480

7581
/// A wrapper widget that makes child widgets responsive.
@@ -86,6 +92,7 @@ class ResponsiveWrapper extends StatefulWidget {
8692
this.backgroundColor,
8793
this.mediaQueryData,
8894
this.shrinkWrap = true,
95+
this.alignment = Alignment.topCenter,
8996
this.debugLog = false,
9097
}) : assert(minWidth != null),
9198
assert(defaultScale != null),
@@ -106,6 +113,7 @@ class ResponsiveWrapper extends StatefulWidget {
106113
Widget background,
107114
Color backgroundColor,
108115
MediaQueryData mediaQueryData,
116+
Alignment alignment = Alignment.topCenter,
109117
bool debugLog = false,
110118
}) {
111119
return ResponsiveWrapper(
@@ -120,6 +128,7 @@ class ResponsiveWrapper extends StatefulWidget {
120128
backgroundColor: backgroundColor,
121129
mediaQueryData: mediaQueryData,
122130
shrinkWrap: false,
131+
alignment: alignment,
123132
debugLog: debugLog,
124133
);
125134
}
@@ -431,6 +440,7 @@ class _ResponsiveWrapperState extends State<ResponsiveWrapper>
431440
if (widget.debugLog)
432441
ResponsiveUtils.debugLogBreakpointSegments(breakpointSegments);
433442

443+
// Dimensions are only available after first frame paint.
434444
WidgetsBinding.instance.addObserver(this);
435445
WidgetsBinding.instance.addPostFrameCallback((_) {
436446
setDimensions();
@@ -478,7 +488,7 @@ class _ResponsiveWrapperState extends State<ResponsiveWrapper>
478488
: InheritedResponsiveWrapper(
479489
data: ResponsiveWrapperData.fromResponsiveWrapper(this),
480490
child: Stack(
481-
alignment: Alignment.topCenter,
491+
alignment: widget.alignment,
482492
children: [
483493
widget.background ?? SizedBox.shrink(),
484494
MediaQuery(

0 commit comments

Comments
 (0)