mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
Make Demos in flutter_gallery more accessible (#10832)
Remaining known issues are #10831 and #10830.
This commit is contained in:
parent
7d16a96500
commit
0e1b652d53
@ -70,12 +70,14 @@ class _ContactItem extends StatelessWidget {
|
|||||||
)
|
)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
return new Padding(
|
return new MergeSemantics(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 16.0),
|
child: new Padding(
|
||||||
child: new Row(
|
padding: const EdgeInsets.symmetric(vertical: 16.0),
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
child: new Row(
|
||||||
children: rowChildren
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
)
|
children: rowChildren
|
||||||
|
)
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -246,41 +246,43 @@ class RecipeCard extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return new GestureDetector(
|
return new MergeSemantics(
|
||||||
onTap: onTap,
|
child: new GestureDetector(
|
||||||
child: new Card(
|
onTap: onTap,
|
||||||
child: new Column(
|
child: new Card(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
child: new Column(
|
||||||
children: <Widget>[
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
new Hero(
|
children: <Widget>[
|
||||||
tag: recipe.imagePath,
|
new Hero(
|
||||||
child: new Image.asset(recipe.imagePath, fit: BoxFit.contain)
|
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),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
),
|
||||||
),
|
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),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
@ -252,39 +252,41 @@ class _Heading extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final Size screenSize = MediaQuery.of(context).size;
|
final Size screenSize = MediaQuery.of(context).size;
|
||||||
final ShrineTheme theme = ShrineTheme.of(context);
|
final ShrineTheme theme = ShrineTheme.of(context);
|
||||||
return new SizedBox(
|
return new MergeSemantics(
|
||||||
height: screenSize.width > screenSize.height
|
child: new SizedBox(
|
||||||
? (screenSize.height - kToolbarHeight) * 0.85
|
height: screenSize.width > screenSize.height
|
||||||
: (screenSize.height - kToolbarHeight) * 0.70,
|
? (screenSize.height - kToolbarHeight) * 0.85
|
||||||
child: new Container(
|
: (screenSize.height - kToolbarHeight) * 0.70,
|
||||||
decoration: new BoxDecoration(
|
child: new Container(
|
||||||
color: theme.cardBackgroundColor,
|
decoration: new BoxDecoration(
|
||||||
border: new Border(bottom: new BorderSide(color: theme.dividerColor)),
|
color: theme.cardBackgroundColor,
|
||||||
),
|
border: new Border(bottom: new BorderSide(color: theme.dividerColor)),
|
||||||
child: new CustomMultiChildLayout(
|
),
|
||||||
delegate: new _HeadingLayout(),
|
child: new CustomMultiChildLayout(
|
||||||
children: <Widget>[
|
delegate: new _HeadingLayout(),
|
||||||
new LayoutId(
|
children: <Widget>[
|
||||||
id: _HeadingLayout.price,
|
new LayoutId(
|
||||||
child: new _FeaturePriceItem(product: product),
|
id: _HeadingLayout.price,
|
||||||
),
|
child: new _FeaturePriceItem(product: product),
|
||||||
new LayoutId(
|
),
|
||||||
id: _HeadingLayout.image,
|
new LayoutId(
|
||||||
child: new Image.asset(product.imageAsset, fit: BoxFit.cover),
|
id: _HeadingLayout.image,
|
||||||
),
|
child: new Image.asset(product.imageAsset, fit: BoxFit.cover),
|
||||||
new LayoutId(
|
),
|
||||||
id: _HeadingLayout.title,
|
new LayoutId(
|
||||||
child: new Text(product.featureTitle, style: theme.featureTitleStyle),
|
id: _HeadingLayout.title,
|
||||||
),
|
child: new Text(product.featureTitle, style: theme.featureTitleStyle),
|
||||||
new LayoutId(
|
),
|
||||||
id: _HeadingLayout.description,
|
new LayoutId(
|
||||||
child: new Text(product.featureDescription, style: theme.featureStyle),
|
id: _HeadingLayout.description,
|
||||||
),
|
child: new Text(product.featureDescription, style: theme.featureStyle),
|
||||||
new LayoutId(
|
),
|
||||||
id: _HeadingLayout.vendor,
|
new LayoutId(
|
||||||
child: new _VendorItem(vendor: product.vendor),
|
id: _HeadingLayout.vendor,
|
||||||
),
|
child: new _VendorItem(vendor: product.vendor),
|
||||||
],
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
@ -303,35 +305,37 @@ class _ProductItem extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return new Card(
|
return new MergeSemantics(
|
||||||
child: new Stack(
|
child: new Card(
|
||||||
children: <Widget>[
|
child: new Stack(
|
||||||
new Column(
|
children: <Widget>[
|
||||||
children: <Widget>[
|
new Column(
|
||||||
new Align(
|
children: <Widget>[
|
||||||
alignment: FractionalOffset.centerRight,
|
new Align(
|
||||||
child: new _ProductPriceItem(product: product),
|
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),
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
new Padding(
|
new Container(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 8.0),
|
width: 144.0,
|
||||||
child: new _VendorItem(vendor: product.vendor),
|
height: 144.0,
|
||||||
),
|
padding: const EdgeInsets.symmetric(horizontal: 8.0),
|
||||||
],
|
child: new Hero(
|
||||||
),
|
tag: product.tag,
|
||||||
new Material(
|
child: new Image.asset(product.imageAsset, fit: BoxFit.contain),
|
||||||
type: MaterialType.transparency,
|
),
|
||||||
child: new InkWell(onTap: onPressed),
|
),
|
||||||
),
|
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),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user