diff --git a/packages/flutter/lib/src/material/chip.dart b/packages/flutter/lib/src/material/chip.dart index 1d054d82230..2ef2728acdb 100644 --- a/packages/flutter/lib/src/material/chip.dart +++ b/packages/flutter/lib/src/material/chip.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'colors.dart'; @@ -42,8 +43,8 @@ class Chip extends StatelessWidget { const Chip({ Key key, this.avatar, - this.label, - this.onDeleted + @required this.label, + this.onDeleted, }) : super(key: key); /// A widget to display prior to the chip's label. diff --git a/packages/flutter/lib/src/material/data_table.dart b/packages/flutter/lib/src/material/data_table.dart index e6ac86a0508..8bc5b2eeccd 100644 --- a/packages/flutter/lib/src/material/data_table.dart +++ b/packages/flutter/lib/src/material/data_table.dart @@ -4,6 +4,7 @@ import 'dart:math' as math; +import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; @@ -34,7 +35,7 @@ class DataColumn { /// /// The [label] argument must not be null. const DataColumn({ - this.label, + @required this.label, this.tooltip, this.numeric: false, this.onSort diff --git a/packages/flutter/lib/src/material/drawer_header.dart b/packages/flutter/lib/src/material/drawer_header.dart index fe373220854..a0cd8ede5a1 100644 --- a/packages/flutter/lib/src/material/drawer_header.dart +++ b/packages/flutter/lib/src/material/drawer_header.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'debug.dart'; @@ -35,7 +36,7 @@ class DrawerHeader extends StatelessWidget { this.padding: const EdgeInsets.fromLTRB(16.0, 16.0, 16.0, 8.0), this.duration: const Duration(milliseconds: 250), this.curve: Curves.fastOutSlowIn, - this.child + @required this.child, }) : super(key: key); /// Decoration for the main drawer header [Container]; useful for applying @@ -61,6 +62,9 @@ class DrawerHeader extends StatelessWidget { final Curve curve; /// A widget to be placed inside the drawer header, inset by the [padding]. + /// + /// This widget will be sized to the size of the header. To position the child + /// precisely, consider using an [Align] or [Center] widget. final Widget child; @override diff --git a/packages/flutter/lib/src/material/drawer_item.dart b/packages/flutter/lib/src/material/drawer_item.dart index 762acff3371..a8386ca5889 100644 --- a/packages/flutter/lib/src/material/drawer_item.dart +++ b/packages/flutter/lib/src/material/drawer_item.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'colors.dart'; @@ -33,7 +34,7 @@ class DrawerItem extends StatelessWidget { const DrawerItem({ Key key, this.icon: const Icon(null), - this.child, + @required this.child, this.onPressed, this.selected: false }) : super(key: key); diff --git a/packages/flutter/lib/src/material/grid_tile.dart b/packages/flutter/lib/src/material/grid_tile.dart index 827c3522154..729846c3472 100644 --- a/packages/flutter/lib/src/material/grid_tile.dart +++ b/packages/flutter/lib/src/material/grid_tile.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; /// A tile in a material design grid list. @@ -19,7 +20,7 @@ class GridTile extends StatelessWidget { /// Creates a grid tile. /// /// Must have a child. Does not typically have both a header and a footer. - GridTile({ Key key, this.header, this.footer, this.child }) : super(key: key) { + GridTile({ Key key, this.header, this.footer, @required this.child }) : super(key: key) { assert(child != null); } diff --git a/packages/flutter/lib/src/material/input.dart b/packages/flutter/lib/src/material/input.dart index bbcd6491bcf..5b838145a9e 100644 --- a/packages/flutter/lib/src/material/input.dart +++ b/packages/flutter/lib/src/material/input.dart @@ -237,6 +237,7 @@ class InputContainer extends StatefulWidget { /// Defaults to true. final bool showDivider; + /// The widget below this widget in the tree. final Widget child; @override diff --git a/packages/flutter/lib/src/material/mergeable_material.dart b/packages/flutter/lib/src/material/mergeable_material.dart index be76ae6af3b..87924d2f064 100644 --- a/packages/flutter/lib/src/material/mergeable_material.dart +++ b/packages/flutter/lib/src/material/mergeable_material.dart @@ -35,7 +35,7 @@ class MaterialSlice extends MergeableMaterialItem { /// [MergeableMaterial]. MaterialSlice({ @required LocalKey key, - this.child + @required this.child, }) : super(key) { assert(key != null); } diff --git a/packages/flutter/lib/src/material/overscroll_indicator.dart b/packages/flutter/lib/src/material/overscroll_indicator.dart index 4412bdcd8ca..2f314de4748 100644 --- a/packages/flutter/lib/src/material/overscroll_indicator.dart +++ b/packages/flutter/lib/src/material/overscroll_indicator.dart @@ -7,6 +7,7 @@ import 'dart:async' show Timer; import 'dart:math' as math; +import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'theme.dart'; @@ -100,7 +101,7 @@ class OverscrollIndicator extends StatefulWidget { Key key, this.scrollableKey, this.edge: ScrollableEdge.both, - this.child + @required this.child, }) : super(key: key) { assert(child != null); assert(edge != null); diff --git a/packages/flutter/lib/src/material/page.dart b/packages/flutter/lib/src/material/page.dart index 70f789430f8..4d0020bb4ba 100644 --- a/packages/flutter/lib/src/material/page.dart +++ b/packages/flutter/lib/src/material/page.dart @@ -20,7 +20,7 @@ class _MountainViewPageTransition extends AnimatedWidget { _MountainViewPageTransition({ Key key, Animation animation, - this.child + this.child, }) : super( key: key, animation: _kTween.animate(new CurvedAnimation( diff --git a/packages/flutter/lib/src/material/popup_menu.dart b/packages/flutter/lib/src/material/popup_menu.dart index f19d019b8a8..77578c15070 100644 --- a/packages/flutter/lib/src/material/popup_menu.dart +++ b/packages/flutter/lib/src/material/popup_menu.dart @@ -115,7 +115,7 @@ class PopupMenuItem extends PopupMenuEntry { Key key, this.value, this.enabled: true, - this.child + @required this.child, }) : super(key: key); @override diff --git a/packages/flutter/lib/src/material/raised_button.dart b/packages/flutter/lib/src/material/raised_button.dart index 172505d71ed..5dba2108c31 100644 --- a/packages/flutter/lib/src/material/raised_button.dart +++ b/packages/flutter/lib/src/material/raised_button.dart @@ -132,7 +132,7 @@ class RaisedButton extends StatelessWidget { elevation: enabled ? elevation : disabledElevation, highlightElevation: enabled ? highlightElevation : disabledElevation, colorBrightness: colorBrightness, - child: child + child: child, ); } } diff --git a/packages/flutter/lib/src/material/scaffold.dart b/packages/flutter/lib/src/material/scaffold.dart index a2f06c78526..4aba53c80ac 100644 --- a/packages/flutter/lib/src/material/scaffold.dart +++ b/packages/flutter/lib/src/material/scaffold.dart @@ -172,7 +172,7 @@ class _ScaffoldLayout extends MultiChildLayoutDelegate { class _FloatingActionButtonTransition extends StatefulWidget { _FloatingActionButtonTransition({ Key key, - this.child + this.child, }) : super(key: key); final Widget child; @@ -266,7 +266,7 @@ class _FloatingActionButtonTransitionState extends State<_FloatingActionButtonTr if (_previousAnimation.status != AnimationStatus.dismissed) { children.add(new ScaleTransition( scale: _previousAnimation, - child: _previousChild + child: _previousChild, )); } if (_currentAnimation.status != AnimationStatus.dismissed) { @@ -274,7 +274,7 @@ class _FloatingActionButtonTransitionState extends State<_FloatingActionButtonTr scale: _currentAnimation, child: new RotationTransition( turns: _kFloatingActionButtonTurnTween.animate(_currentAnimation), - child: config.child + child: config.child, ) )); } diff --git a/packages/flutter/lib/src/material/snack_bar.dart b/packages/flutter/lib/src/material/snack_bar.dart index 44950e27a5e..359787cb68c 100644 --- a/packages/flutter/lib/src/material/snack_bar.dart +++ b/packages/flutter/lib/src/material/snack_bar.dart @@ -147,11 +147,11 @@ class SnackBar extends StatelessWidget { /// The [content] argument must be non-null. SnackBar({ Key key, - this.content, + @required this.content, this.backgroundColor, this.action, this.duration: _kSnackBarDisplayDuration, - this.animation + this.animation, }) : super(key: key) { assert(content != null); } @@ -203,7 +203,7 @@ class SnackBar extends StatelessWidget { padding: const EdgeInsets.symmetric(vertical: _kSingleLineVerticalPadding), child: new DefaultTextStyle( style: darkTheme.textTheme.subhead, - child: content + child: content, ) ) ) diff --git a/packages/flutter/lib/src/material/tab_controller.dart b/packages/flutter/lib/src/material/tab_controller.dart index 1d36488a360..fee79e8bcbb 100644 --- a/packages/flutter/lib/src/material/tab_controller.dart +++ b/packages/flutter/lib/src/material/tab_controller.dart @@ -144,7 +144,7 @@ class DefaultTabController extends StatefulWidget { Key key, @required this.length, this.initialIndex: 0, - this.child + @required this.child, }) : super(key: key); /// The total number of tabs. Must be greater than one. diff --git a/packages/flutter/lib/src/material/tabs.dart b/packages/flutter/lib/src/material/tabs.dart index 9f01d5533d3..2d2669982bc 100644 --- a/packages/flutter/lib/src/material/tabs.dart +++ b/packages/flutter/lib/src/material/tabs.dart @@ -109,7 +109,7 @@ class _TabStyle extends AnimatedWidget { this.selected, this.labelColor, this.unselectedLabelColor, - this.child + @required this.child, }) : super(key: key, animation: animation); final bool selected; diff --git a/packages/flutter/lib/src/material/theme.dart b/packages/flutter/lib/src/material/theme.dart index 6b5be80ec91..31ef66d4a94 100644 --- a/packages/flutter/lib/src/material/theme.dart +++ b/packages/flutter/lib/src/material/theme.dart @@ -160,7 +160,7 @@ class AnimatedTheme extends ImplicitlyAnimatedWidget { this.isMaterialAppTheme: false, Curve curve: Curves.linear, Duration duration: kThemeAnimationDuration, - this.child + @required this.child, }) : super(key: key, curve: curve, duration: duration) { assert(child != null); assert(data != null); diff --git a/packages/flutter/lib/src/material/tooltip.dart b/packages/flutter/lib/src/material/tooltip.dart index f055ef506bb..07e9f897776 100644 --- a/packages/flutter/lib/src/material/tooltip.dart +++ b/packages/flutter/lib/src/material/tooltip.dart @@ -47,7 +47,7 @@ class Tooltip extends StatefulWidget { this.padding: const EdgeInsets.symmetric(horizontal: 16.0), this.verticalOffset: 24.0, this.preferBelow: true, - this.child + this.child, }) : super(key: key) { assert(message != null); assert(height != null); @@ -181,7 +181,7 @@ class _TooltipState extends State with SingleTickerProviderStateMixin { excludeFromSemantics: true, child: new Semantics( label: config.message, - child: config.child + child: config.child, ) ); } diff --git a/packages/flutter/lib/src/material/user_accounts_drawer_header.dart b/packages/flutter/lib/src/material/user_accounts_drawer_header.dart index ee24c88f9ba..08be4a135e3 100644 --- a/packages/flutter/lib/src/material/user_accounts_drawer_header.dart +++ b/packages/flutter/lib/src/material/user_accounts_drawer_header.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'debug.dart'; @@ -50,8 +51,8 @@ class _AccountPictures extends StatelessWidget { class _AccountDetails extends StatelessWidget { _AccountDetails({ Key key, - this.accountName, - this.accountEmail, + @required this.accountName, + @required this.accountEmail, this.onTap, this.isOpen, }) : super(key: key); @@ -136,8 +137,8 @@ class UserAccountsDrawerHeader extends StatefulWidget { this.decoration, this.currentAccountPicture, this.otherAccountsPictures, - this.accountName, - this.accountEmail, + @required this.accountName, + @required this.accountEmail, this.onDetailsPressed }) : super(key: key);