Make Demos in flutter_gallery more accessible (#10832)

Remaining known issues are #10831 and #10830.
This commit is contained in:
Michael Goderbauer 2017-06-20 11:09:57 -07:00 committed by GitHub
parent 7d16a96500
commit 0e1b652d53
3 changed files with 109 additions and 101 deletions

View File

@ -70,12 +70,14 @@ class _ContactItem extends StatelessWidget {
)
));
}
return new Padding(
padding: const EdgeInsets.symmetric(vertical: 16.0),
child: new Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: rowChildren
)
return new MergeSemantics(
child: new Padding(
padding: const EdgeInsets.symmetric(vertical: 16.0),
child: new Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: rowChildren
)
),
);
}
}

View File

@ -246,41 +246,43 @@ class RecipeCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new GestureDetector(
onTap: onTap,
child: new Card(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
new Hero(
tag: recipe.imagePath,
child: new Image.asset(recipe.imagePath, fit: BoxFit.contain)
),
new Expanded(
child: new Row(
children: <Widget>[
new Padding(
padding: const EdgeInsets.all(16.0),
child: new Image.asset(
recipe.ingredientsImagePath,
width: 48.0,
height: 48.0,
),
),
new Expanded(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Text(recipe.name, style: titleStyle, softWrap: false, overflow: TextOverflow.ellipsis),
new Text(recipe.author, style: authorStyle),
],
),
),
],
return new MergeSemantics(
child: new GestureDetector(
onTap: onTap,
child: new Card(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
new Hero(
tag: recipe.imagePath,
child: new Image.asset(recipe.imagePath, fit: BoxFit.contain)
),
),
],
new Expanded(
child: new Row(
children: <Widget>[
new Padding(
padding: const EdgeInsets.all(16.0),
child: new Image.asset(
recipe.ingredientsImagePath,
width: 48.0,
height: 48.0,
),
),
new Expanded(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Text(recipe.name, style: titleStyle, softWrap: false, overflow: TextOverflow.ellipsis),
new Text(recipe.author, style: authorStyle),
],
),
),
],
),
),
],
),
),
),
);

View File

@ -252,39 +252,41 @@ class _Heading extends StatelessWidget {
Widget build(BuildContext context) {
final Size screenSize = MediaQuery.of(context).size;
final ShrineTheme theme = ShrineTheme.of(context);
return new SizedBox(
height: screenSize.width > screenSize.height
? (screenSize.height - kToolbarHeight) * 0.85
: (screenSize.height - kToolbarHeight) * 0.70,
child: new Container(
decoration: new BoxDecoration(
color: theme.cardBackgroundColor,
border: new Border(bottom: new BorderSide(color: theme.dividerColor)),
),
child: new CustomMultiChildLayout(
delegate: new _HeadingLayout(),
children: <Widget>[
new LayoutId(
id: _HeadingLayout.price,
child: new _FeaturePriceItem(product: product),
),
new LayoutId(
id: _HeadingLayout.image,
child: new Image.asset(product.imageAsset, fit: BoxFit.cover),
),
new LayoutId(
id: _HeadingLayout.title,
child: new Text(product.featureTitle, style: theme.featureTitleStyle),
),
new LayoutId(
id: _HeadingLayout.description,
child: new Text(product.featureDescription, style: theme.featureStyle),
),
new LayoutId(
id: _HeadingLayout.vendor,
child: new _VendorItem(vendor: product.vendor),
),
],
return new MergeSemantics(
child: new SizedBox(
height: screenSize.width > screenSize.height
? (screenSize.height - kToolbarHeight) * 0.85
: (screenSize.height - kToolbarHeight) * 0.70,
child: new Container(
decoration: new BoxDecoration(
color: theme.cardBackgroundColor,
border: new Border(bottom: new BorderSide(color: theme.dividerColor)),
),
child: new CustomMultiChildLayout(
delegate: new _HeadingLayout(),
children: <Widget>[
new LayoutId(
id: _HeadingLayout.price,
child: new _FeaturePriceItem(product: product),
),
new LayoutId(
id: _HeadingLayout.image,
child: new Image.asset(product.imageAsset, fit: BoxFit.cover),
),
new LayoutId(
id: _HeadingLayout.title,
child: new Text(product.featureTitle, style: theme.featureTitleStyle),
),
new LayoutId(
id: _HeadingLayout.description,
child: new Text(product.featureDescription, style: theme.featureStyle),
),
new LayoutId(
id: _HeadingLayout.vendor,
child: new _VendorItem(vendor: product.vendor),
),
],
),
),
),
);
@ -303,35 +305,37 @@ class _ProductItem extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Card(
child: new Stack(
children: <Widget>[
new Column(
children: <Widget>[
new Align(
alignment: FractionalOffset.centerRight,
child: new _ProductPriceItem(product: product),
),
new Container(
width: 144.0,
height: 144.0,
padding: const EdgeInsets.symmetric(horizontal: 8.0),
child: new Hero(
tag: product.tag,
child: new Image.asset(product.imageAsset, fit: BoxFit.contain),
),
return new MergeSemantics(
child: new Card(
child: new Stack(
children: <Widget>[
new Column(
children: <Widget>[
new Align(
alignment: FractionalOffset.centerRight,
child: new _ProductPriceItem(product: product),
),
new Padding(
padding: const EdgeInsets.symmetric(horizontal: 8.0),
child: new _VendorItem(vendor: product.vendor),
),
],
),
new Material(
type: MaterialType.transparency,
child: new InkWell(onTap: onPressed),
),
],
new Container(
width: 144.0,
height: 144.0,
padding: const EdgeInsets.symmetric(horizontal: 8.0),
child: new Hero(
tag: product.tag,
child: new Image.asset(product.imageAsset, fit: BoxFit.contain),
),
),
new Padding(
padding: const EdgeInsets.symmetric(horizontal: 8.0),
child: new _VendorItem(vendor: product.vendor),
),
],
),
new Material(
type: MaterialType.transparency,
child: new InkWell(onTap: onPressed),
),
],
),
),
);
}