diff --git a/examples/address_book/lib/main.dart b/examples/address_book/lib/main.dart index 964c39f2cfd..9f79aeeb00f 100644 --- a/examples/address_book/lib/main.dart +++ b/examples/address_book/lib/main.dart @@ -60,22 +60,20 @@ class AddressBookHome extends StatelessComponent { static final GlobalKey noteKey = new GlobalKey(label: 'note field'); Widget buildBody(BuildContext context) { - return new Material( - child: new Block([ - new AspectRatio( - aspectRatio: 16.0 / 9.0, - child: new Container( - decoration: new BoxDecoration(backgroundColor: Colors.purple[300]) - ) - ), - new Field(inputKey: nameKey, icon: "social/person", placeholder: "Name"), - new Field(inputKey: phoneKey, icon: "communication/phone", placeholder: "Phone"), - new Field(inputKey: emailKey, icon: "communication/email", placeholder: "Email"), - new Field(inputKey: addressKey, icon: "maps/place", placeholder: "Address"), - new Field(inputKey: ringtoneKey, icon: "av/volume_up", placeholder: "Ringtone"), - new Field(inputKey: noteKey, icon: "content/add", placeholder: "Add note"), - ]) - ); + return new Block([ + new AspectRatio( + aspectRatio: 16.0 / 9.0, + child: new Container( + decoration: new BoxDecoration(backgroundColor: Colors.purple[300]) + ) + ), + new Field(inputKey: nameKey, icon: "social/person", placeholder: "Name"), + new Field(inputKey: phoneKey, icon: "communication/phone", placeholder: "Phone"), + new Field(inputKey: emailKey, icon: "communication/email", placeholder: "Email"), + new Field(inputKey: addressKey, icon: "maps/place", placeholder: "Address"), + new Field(inputKey: ringtoneKey, icon: "av/volume_up", placeholder: "Ringtone"), + new Field(inputKey: noteKey, icon: "content/add", placeholder: "Add note"), + ]); } Widget build(BuildContext context) { diff --git a/examples/fitness/lib/feed.dart b/examples/fitness/lib/feed.dart index cbb9922bed6..4208a112fba 100644 --- a/examples/fitness/lib/feed.dart +++ b/examples/fitness/lib/feed.dart @@ -14,13 +14,11 @@ class FitnessItemList extends StatelessComponent { final FitnessItemHandler onDismissed; Widget build(BuildContext context) { - return new Material( - child: new ScrollableList( - padding: const EdgeDims.all(4.0), - items: items, - itemExtent: kFitnessItemHeight, - itemBuilder: (_, item) => item.toRow(onDismissed: onDismissed) - ) + return new ScrollableList( + padding: const EdgeDims.all(4.0), + items: items, + itemExtent: kFitnessItemHeight, + itemBuilder: (_, item) => item.toRow(onDismissed: onDismissed) ); } } @@ -171,14 +169,13 @@ class FeedFragmentState extends State { Widget buildBody() { TextStyle style = Theme.of(context).text.title; if (config.userData == null) - return new Material(); - if (config.userData.items.length == 0) - return new Material( - child: new Row( - [new Text("No data yet.\nAdd some!", style: style)], - justifyContent: FlexJustifyContent.center - ) + return new Container(); + if (config.userData.items.length == 0) { + return new Row( + [new Text("No data yet.\nAdd some!", style: style)], + justifyContent: FlexJustifyContent.center ); + } switch (_fitnessMode) { case FitnessMode.feed: return new FitnessItemList( @@ -186,11 +183,9 @@ class FeedFragmentState extends State { onDismissed: _handleItemDismissed ); case FitnessMode.chart: - return new Material( - child: new Container( - padding: const EdgeDims.all(20.0), - child: buildChart() - ) + return new Container( + padding: const EdgeDims.all(20.0), + child: buildChart() ); } } diff --git a/examples/fitness/lib/meal.dart b/examples/fitness/lib/meal.dart index ea96b91ba6b..fb1765c0f52 100644 --- a/examples/fitness/lib/meal.dart +++ b/examples/fitness/lib/meal.dart @@ -85,19 +85,17 @@ class MealFragmentState extends State { Widget buildBody() { Meal meal = new Meal(when: new DateTime.now()); - return new Material( - child: new ScrollableViewport( - child: new Container( - padding: const EdgeDims.all(20.0), - child: new BlockBody([ - new Text(meal.displayDate), - new Input( - key: descriptionKey, - placeholder: 'Describe meal', - onChanged: _handleDescriptionChanged - ), - ]) - ) + return new ScrollableViewport( + child: new Container( + padding: const EdgeDims.all(20.0), + child: new BlockBody([ + new Text(meal.displayDate), + new Input( + key: descriptionKey, + placeholder: 'Describe meal', + onChanged: _handleDescriptionChanged + ), + ]) ) ); } diff --git a/examples/fitness/lib/measurement.dart b/examples/fitness/lib/measurement.dart index 83b8c88cc0b..394d86c5070 100644 --- a/examples/fitness/lib/measurement.dart +++ b/examples/fitness/lib/measurement.dart @@ -172,28 +172,26 @@ class MeasurementFragmentState extends State { Widget buildBody(BuildContext context) { Measurement measurement = new Measurement(when: _when); // TODO(jackson): Revisit the layout of this pane to be more maintainable - return new Material( - child: new Container( - padding: const EdgeDims.all(20.0), - child: new Column([ - new GestureDetector( - onTap: _handleDatePressed, - child: new Container( - height: 50.0, - child: new Column([ - new Text('Measurement Date'), - new Text(measurement.displayDate, style: Theme.of(context).text.caption), - ], alignItems: FlexAlignItems.start) - ) - ), - new Input( - key: weightKey, - placeholder: 'Enter weight', - keyboardType: KeyboardType.NUMBER, - onChanged: _handleWeightChanged - ), - ], alignItems: FlexAlignItems.stretch) - ) + return new Container( + padding: const EdgeDims.all(20.0), + child: new Column([ + new GestureDetector( + onTap: _handleDatePressed, + child: new Container( + height: 50.0, + child: new Column([ + new Text('Measurement Date'), + new Text(measurement.displayDate, style: Theme.of(context).text.caption), + ], alignItems: FlexAlignItems.start) + ) + ), + new Input( + key: weightKey, + placeholder: 'Enter weight', + keyboardType: KeyboardType.NUMBER, + onChanged: _handleWeightChanged + ), + ], alignItems: FlexAlignItems.stretch) ); } diff --git a/examples/fitness/lib/settings.dart b/examples/fitness/lib/settings.dart index 5c6035290f3..f33b6f0c9c1 100644 --- a/examples/fitness/lib/settings.dart +++ b/examples/fitness/lib/settings.dart @@ -92,29 +92,27 @@ class SettingsFragmentState extends State { } Widget buildSettingsPane(BuildContext context) { - return new Material( - child: new ScrollableViewport( - child: new Container( - padding: const EdgeDims.symmetric(vertical: 20.0), - child: new BlockBody([ - new DrawerItem( - onPressed: () { _handleBackupChanged(!(config.userData.backupMode == BackupMode.enabled)); }, - child: new Row([ - new Flexible(child: new Text('Back up data to the cloud')), - new Switch(value: config.userData.backupMode == BackupMode.enabled, onChanged: _handleBackupChanged), - ]) - ), - new DrawerItem( - onPressed: () => _handleGoalWeightPressed(), - child: new Column([ - new Text('Goal Weight'), - new Text(goalWeightText, style: Theme.of(context).text.caption), - ], - alignItems: FlexAlignItems.start - ) - ), - ]) - ) + return new ScrollableViewport( + child: new Container( + padding: const EdgeDims.symmetric(vertical: 20.0), + child: new BlockBody([ + new DrawerItem( + onPressed: () { _handleBackupChanged(!(config.userData.backupMode == BackupMode.enabled)); }, + child: new Row([ + new Flexible(child: new Text('Back up data to the cloud')), + new Switch(value: config.userData.backupMode == BackupMode.enabled, onChanged: _handleBackupChanged), + ]) + ), + new DrawerItem( + onPressed: () => _handleGoalWeightPressed(), + child: new Column([ + new Text('Goal Weight'), + new Text(goalWeightText, style: Theme.of(context).text.caption), + ], + alignItems: FlexAlignItems.start + ) + ), + ]) ) ); } diff --git a/examples/stocks/lib/stock_list.dart b/examples/stocks/lib/stock_list.dart index c49078626b1..8d153f233dd 100644 --- a/examples/stocks/lib/stock_list.dart +++ b/examples/stocks/lib/stock_list.dart @@ -12,18 +12,16 @@ class StockList extends StatelessComponent { final StockRowActionCallback onAction; Widget build(BuildContext context) { - return new Material( - child: new ScrollableList( - items: stocks, - itemExtent: StockRow.kHeight, - itemBuilder: (BuildContext context, Stock stock) { - return new StockRow( - stock: stock, - onPressed: onOpen, - onLongPressed: onAction - ); - } - ) + return new ScrollableList( + items: stocks, + itemExtent: StockRow.kHeight, + itemBuilder: (BuildContext context, Stock stock) { + return new StockRow( + stock: stock, + onPressed: onOpen, + onLongPressed: onAction + ); + } ); } } diff --git a/examples/stocks/lib/stock_settings.dart b/examples/stocks/lib/stock_settings.dart index c0404c7268f..d618bae8cb6 100644 --- a/examples/stocks/lib/stock_settings.dart +++ b/examples/stocks/lib/stock_settings.dart @@ -83,35 +83,33 @@ class StockSettingsState extends State { Widget buildSettingsPane(BuildContext context) { // TODO(ianh): Once we have the gesture API hooked up, fix https://github.com/domokit/mojo/issues/281 // (whereby tapping the widgets below causes both the widget and the menu item to fire their callbacks) - return new Material( - child: new ScrollableViewport( - child: new Container( - padding: const EdgeDims.symmetric(vertical: 20.0), - child: new BlockBody([ - new DrawerItem( - icon: 'action/thumb_up', - onPressed: () => _confirmOptimismChange(), - child: new Row([ - new Flexible(child: new Text('Everything is awesome')), - new Checkbox( - value: config.optimism == StockMode.optimistic, - onChanged: (bool value) => _confirmOptimismChange() - ), - ]) - ), - new DrawerItem( - icon: 'action/backup', - onPressed: () { _handleBackupChanged(!(config.backup == BackupMode.enabled)); }, - child: new Row([ - new Flexible(child: new Text('Back up stock list to the cloud')), - new Switch( - value: config.backup == BackupMode.enabled, - onChanged: _handleBackupChanged - ), - ]) - ), - ]) - ) + return new ScrollableViewport( + child: new Container( + padding: const EdgeDims.symmetric(vertical: 20.0), + child: new BlockBody([ + new DrawerItem( + icon: 'action/thumb_up', + onPressed: () => _confirmOptimismChange(), + child: new Row([ + new Flexible(child: new Text('Everything is awesome')), + new Checkbox( + value: config.optimism == StockMode.optimistic, + onChanged: (bool value) => _confirmOptimismChange() + ), + ]) + ), + new DrawerItem( + icon: 'action/backup', + onPressed: () { _handleBackupChanged(!(config.backup == BackupMode.enabled)); }, + child: new Row([ + new Flexible(child: new Text('Back up stock list to the cloud')), + new Switch( + value: config.backup == BackupMode.enabled, + onChanged: _handleBackupChanged + ), + ]) + ), + ]) ) ); } diff --git a/examples/stocks/lib/stock_symbol_viewer.dart b/examples/stocks/lib/stock_symbol_viewer.dart index ec0dd6c2758..4faf71d458d 100644 --- a/examples/stocks/lib/stock_symbol_viewer.dart +++ b/examples/stocks/lib/stock_symbol_viewer.dart @@ -32,24 +32,22 @@ class StockSymbolViewerState extends State { ), center: new Text('${config.stock.name} (${config.stock.symbol})') ), - body: new Material( - child: new Block([ - new Container( - padding: new EdgeDims.all(20.0), - child: new Column([ - new Text('Last Sale', style: headings), - new Text('$lastSale ($changeInPrice)'), - new Container( - height: 8.0 - ), - new Text('Market Cap', style: headings), - new Text('${config.stock.marketCap}'), - ], - alignItems: FlexAlignItems.stretch - ) + body: new Block([ + new Container( + padding: new EdgeDims.all(20.0), + child: new Column([ + new Text('Last Sale', style: headings), + new Text('$lastSale ($changeInPrice)'), + new Container( + height: 8.0 + ), + new Text('Market Cap', style: headings), + new Text('${config.stock.marketCap}'), + ], + alignItems: FlexAlignItems.stretch ) - ]) - ) + ) + ]) ); } diff --git a/examples/widgets/date_picker.dart b/examples/widgets/date_picker.dart index 8d871dee0d6..55370950139 100644 --- a/examples/widgets/date_picker.dart +++ b/examples/widgets/date_picker.dart @@ -34,12 +34,10 @@ class DatePickerDemoState extends State { child: new Stack([ new Scaffold( toolBar: new ToolBar(center: new Text("Date Picker")), - body: new Material( - child: new Row( - [new Text(_dateTime.toString())], - alignItems: FlexAlignItems.end, - justifyContent: FlexJustifyContent.center - ) + body: new Row( + [new Text(_dateTime.toString())], + alignItems: FlexAlignItems.end, + justifyContent: FlexJustifyContent.center ) ), new Dialog( diff --git a/examples/widgets/drag_and_drop.dart b/examples/widgets/drag_and_drop.dart index 63f4d736ad9..ac31dc99408 100644 --- a/examples/widgets/drag_and_drop.dart +++ b/examples/widgets/drag_and_drop.dart @@ -103,26 +103,24 @@ class DragAndDropAppState extends State { toolBar: new ToolBar( center: new Text('Drag and Drop Flutter Demo') ), - body: new Material( - child: new DefaultTextStyle( - style: Theme.of(context).text.body1.copyWith(textAlign: TextAlign.center), - child: new Column([ - new Flexible(child: new Row([ - new ExampleDragSource(navigator: config.navigator, name: 'Orange', color: const Color(0xFFFF9000)), - new ExampleDragSource(navigator: config.navigator, name: 'Teal', color: const Color(0xFF00FFFF)), - new ExampleDragSource(navigator: config.navigator, name: 'Yellow', color: const Color(0xFFFFF000)), - ], - alignItems: FlexAlignItems.center, - justifyContent: FlexJustifyContent.spaceAround - )), - new Flexible(child: new Row([ - new Flexible(child: new ExampleDragTarget()), - new Flexible(child: new ExampleDragTarget()), - new Flexible(child: new ExampleDragTarget()), - new Flexible(child: new ExampleDragTarget()), - ])), - ]) - ) + body: new DefaultTextStyle( + style: Theme.of(context).text.body1.copyWith(textAlign: TextAlign.center), + child: new Column([ + new Flexible(child: new Row([ + new ExampleDragSource(navigator: config.navigator, name: 'Orange', color: const Color(0xFFFF9000)), + new ExampleDragSource(navigator: config.navigator, name: 'Teal', color: const Color(0xFF00FFFF)), + new ExampleDragSource(navigator: config.navigator, name: 'Yellow', color: const Color(0xFFFFF000)), + ], + alignItems: FlexAlignItems.center, + justifyContent: FlexJustifyContent.spaceAround + )), + new Flexible(child: new Row([ + new Flexible(child: new ExampleDragTarget()), + new Flexible(child: new ExampleDragTarget()), + new Flexible(child: new ExampleDragTarget()), + new Flexible(child: new ExampleDragTarget()), + ])), + ]) ) ); } diff --git a/examples/widgets/indexed_stack.dart b/examples/widgets/indexed_stack.dart index 4c0ce831221..a4e6a25de19 100644 --- a/examples/widgets/indexed_stack.dart +++ b/examples/widgets/indexed_stack.dart @@ -40,14 +40,11 @@ class IndexedStackDemoState extends State { toolBar: new ToolBar(center: new Text('IndexedStackDemo Demo')), body: new GestureDetector( onTap: _handleTap, - child: new Container( - decoration: new BoxDecoration(backgroundColor: Theme.of(context).primarySwatch[50]), - child: new Center( - child: new Container( - child: indexedStack, - padding: const EdgeDims.all(8.0), - decoration: new BoxDecoration(border: new Border.all(color: Theme.of(context).accentColor)) - ) + child: new Center( + child: new Container( + child: indexedStack, + padding: const EdgeDims.all(8.0), + decoration: new BoxDecoration(border: new Border.all(color: Theme.of(context).accentColor)) ) ) ) diff --git a/examples/widgets/overlay_geometry.dart b/examples/widgets/overlay_geometry.dart index c59f0f17f1a..ee96d776630 100644 --- a/examples/widgets/overlay_geometry.dart +++ b/examples/widgets/overlay_geometry.dart @@ -139,7 +139,6 @@ class OverlayGeometryAppState extends State { toolBar: new ToolBar(center: new Text('Tap a Card')), body: new Container( padding: const EdgeDims.symmetric(vertical: 12.0, horizontal: 8.0), - decoration: new BoxDecoration(backgroundColor: Theme.of(context).primarySwatch[50]), child: new ScrollableMixedWidgetList( builder: builder, token: cardModels.length, diff --git a/examples/widgets/pageable_list.dart b/examples/widgets/pageable_list.dart index 8dc8c36d1d7..637d4054a95 100644 --- a/examples/widgets/pageable_list.dart +++ b/examples/widgets/pageable_list.dart @@ -137,10 +137,7 @@ class PageableListAppState extends State { ); return new SizeObserver( callback: updatePageSize, - child: new Container( - child: list, - decoration: new BoxDecoration(backgroundColor: Theme.of(context).primarySwatch[50]) - ) + child: list ); } diff --git a/examples/widgets/progress_indicator.dart b/examples/widgets/progress_indicator.dart index fdf2338008a..392d52afd01 100644 --- a/examples/widgets/progress_indicator.dart +++ b/examples/widgets/progress_indicator.dart @@ -82,7 +82,6 @@ class ProgressIndicatorAppState extends State { onTap: handleTap, child: new Container( padding: const EdgeDims.symmetric(vertical: 12.0, horizontal: 8.0), - decoration: new BoxDecoration(backgroundColor: Theme.of(context).cardColor), child: new BuilderTransition( variables: [valueAnimation.variable], performance: valueAnimation.view, diff --git a/examples/widgets/scale.dart b/examples/widgets/scale.dart index 03c1b92c137..f78524639fb 100644 --- a/examples/widgets/scale.dart +++ b/examples/widgets/scale.dart @@ -60,12 +60,10 @@ class ScaleAppState extends State { child: new Scaffold( toolBar: new ToolBar( center: new Text('Scale Demo')), - body: new Material( - child: new GestureDetector( - onScaleStart: _handleScaleStart, - onScaleUpdate: _handleScaleUpdate, - child: new CustomPaint(callback: paint, token: "$_zoom $_offset") - ) + body: new GestureDetector( + onScaleStart: _handleScaleStart, + onScaleUpdate: _handleScaleUpdate, + child: new CustomPaint(callback: paint, token: "$_zoom $_offset") ) ) ); diff --git a/examples/widgets/scrollbar.dart b/examples/widgets/scrollbar.dart index eaf38a19337..66893bc7bdc 100644 --- a/examples/widgets/scrollbar.dart +++ b/examples/widgets/scrollbar.dart @@ -49,7 +49,6 @@ class ScrollbarAppState extends State { return new Scaffold( toolBar: new ToolBar(center: new Text('Scrollbar Demo')), body: new Container( - decoration: new BoxDecoration(backgroundColor: Theme.of(context).primarySwatch[50]), padding: new EdgeDims.all(12.0), child: new Center(child: new Card(child: scrollable)) ) diff --git a/examples/widgets/sector.dart b/examples/widgets/sector.dart index 38bf7420212..f0f3c9f3c1a 100644 --- a/examples/widgets/sector.dart +++ b/examples/widgets/sector.dart @@ -68,56 +68,54 @@ class SectorAppState extends State { } Widget buildBody() { - return new Material( - child: new Column([ - new Container( - padding: new EdgeDims.symmetric(horizontal: 8.0, vertical: 25.0), - child: new Row([ - new RaisedButton( - enabled: _enabledAdd, - child: new IntrinsicWidth( - child: new Row([ - new Container( - padding: new EdgeDims.all(4.0), - margin: new EdgeDims.only(right: 10.0), - child: new WidgetToRenderBoxAdapter(sectorAddIcon) - ), - new Text('ADD SECTOR'), - ]) - ), - onPressed: addSector + return new Column([ + new Container( + padding: new EdgeDims.symmetric(horizontal: 8.0, vertical: 25.0), + child: new Row([ + new RaisedButton( + enabled: _enabledAdd, + child: new IntrinsicWidth( + child: new Row([ + new Container( + padding: new EdgeDims.all(4.0), + margin: new EdgeDims.only(right: 10.0), + child: new WidgetToRenderBoxAdapter(sectorAddIcon) + ), + new Text('ADD SECTOR'), + ]) ), - new RaisedButton( - enabled: _enabledRemove, - child: new IntrinsicWidth( - child: new Row([ - new Container( - padding: new EdgeDims.all(4.0), - margin: new EdgeDims.only(right: 10.0), - child: new WidgetToRenderBoxAdapter(sectorRemoveIcon) - ), - new Text('REMOVE SECTOR'), - ]) - ), - onPressed: removeSector - ) - ], - justifyContent: FlexJustifyContent.spaceAround - ) - ), - new Flexible( - child: new Container( - margin: new EdgeDims.all(8.0), - decoration: new BoxDecoration( - border: new Border.all(color: new Color(0xFF000000)) + onPressed: addSector ), - padding: new EdgeDims.all(8.0), - child: new WidgetToRenderBoxAdapter(sectors) - ) - ), - ], - justifyContent: FlexJustifyContent.spaceBetween - ) + new RaisedButton( + enabled: _enabledRemove, + child: new IntrinsicWidth( + child: new Row([ + new Container( + padding: new EdgeDims.all(4.0), + margin: new EdgeDims.only(right: 10.0), + child: new WidgetToRenderBoxAdapter(sectorRemoveIcon) + ), + new Text('REMOVE SECTOR'), + ]) + ), + onPressed: removeSector + ) + ], + justifyContent: FlexJustifyContent.spaceAround + ) + ), + new Flexible( + child: new Container( + margin: new EdgeDims.all(8.0), + decoration: new BoxDecoration( + border: new Border.all(color: new Color(0xFF000000)) + ), + padding: new EdgeDims.all(8.0), + child: new WidgetToRenderBoxAdapter(sectors) + ) + ), + ], + justifyContent: FlexJustifyContent.spaceBetween ); } diff --git a/examples/widgets/tabs.dart b/examples/widgets/tabs.dart index 5a84f93234a..b0f97fd6331 100644 --- a/examples/widgets/tabs.dart +++ b/examples/widgets/tabs.dart @@ -96,9 +96,8 @@ class TabbedNavigatorAppState extends State { Container _buildCard(BuildContext context, TabNavigator tabNavigator) { return new Container( - child: new Card(child: new Padding(child: tabNavigator, padding: const EdgeDims.all(8.0))), - padding: const EdgeDims.all(12.0), - decoration: new BoxDecoration(backgroundColor: Theme.of(context).primarySwatch[100]) + padding: const EdgeDims.all(12.0), + child: new Card(child: new Padding(child: tabNavigator, padding: const EdgeDims.all(8.0))) ); } diff --git a/packages/flutter/lib/src/material/scaffold.dart b/packages/flutter/lib/src/material/scaffold.dart index 4496187e761..6eb8b399527 100644 --- a/packages/flutter/lib/src/material/scaffold.dart +++ b/packages/flutter/lib/src/material/scaffold.dart @@ -7,6 +7,7 @@ import 'dart:ui' as ui; import 'package:flutter/widgets.dart'; import 'constants.dart'; +import 'material.dart'; class Scaffold extends StatelessComponent { Scaffold({ @@ -38,7 +39,9 @@ class Scaffold extends StatelessComponent { if (body != null) { children.add(new Positioned( top: toolBarHeight, right: 0.0, bottom: statusBarHeight, left: 0.0, - child: body + child: new Material( + child: body + ) )); }