mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Merge pull request #2064 from abarth/snackbar_action
SnackBar should have a single optional action
This commit is contained in:
commit
aeb9419122
@ -110,11 +110,12 @@ class FeedFragmentState extends State<FeedFragment> {
|
||||
config.onItemDeleted(item);
|
||||
Scaffold.of(context).showSnackBar(new SnackBar(
|
||||
content: new Text("Item deleted."),
|
||||
actions: <SnackBarAction>[
|
||||
new SnackBarAction(label: "UNDO", onPressed: () {
|
||||
action: new SnackBarAction(
|
||||
label: "UNDO",
|
||||
onPressed: () {
|
||||
config.onItemCreated(item);
|
||||
}),
|
||||
]
|
||||
}
|
||||
)
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
@ -32,16 +32,14 @@ class SnackBarDemo extends StatelessComponent {
|
||||
onPressed: () {
|
||||
Scaffold.of(context).showSnackBar(new SnackBar(
|
||||
content: new Text('This is a SnackBar'),
|
||||
actions: <SnackBarAction>[
|
||||
new SnackBarAction(
|
||||
label: 'Action',
|
||||
onPressed: () {
|
||||
Scaffold.of(context).showSnackBar(new SnackBar(
|
||||
content: new Text("You pressed the SnackBar's Action")
|
||||
));
|
||||
}
|
||||
)
|
||||
]
|
||||
action: new SnackBarAction(
|
||||
label: 'Action',
|
||||
onPressed: () {
|
||||
Scaffold.of(context).showSnackBar(new SnackBar(
|
||||
content: new Text("You pressed the SnackBar's Action")
|
||||
));
|
||||
}
|
||||
)
|
||||
));
|
||||
}
|
||||
),
|
||||
|
||||
@ -210,9 +210,12 @@ class StockHomeState extends State<StockHome> {
|
||||
});
|
||||
_scaffoldKey.currentState.showSnackBar(new SnackBar(
|
||||
content: new Text("Purchased ${stock.symbol} for ${stock.lastSale}"),
|
||||
actions: <SnackBarAction>[
|
||||
new SnackBarAction(label: "BUY MORE", onPressed: () { _buyStock(stock, arrowKey); })
|
||||
]
|
||||
action: new SnackBarAction(
|
||||
label: "BUY MORE",
|
||||
onPressed: () {
|
||||
_buyStock(stock, arrowKey);
|
||||
}
|
||||
)
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
@ -74,7 +74,7 @@ class SnackBar extends StatelessComponent {
|
||||
SnackBar({
|
||||
Key key,
|
||||
this.content,
|
||||
this.actions,
|
||||
this.action,
|
||||
this.duration: kSnackBarShortDisplayDuration,
|
||||
this.animation
|
||||
}) : super(key: key) {
|
||||
@ -82,7 +82,7 @@ class SnackBar extends StatelessComponent {
|
||||
}
|
||||
|
||||
final Widget content;
|
||||
final List<SnackBarAction> actions;
|
||||
final SnackBarAction action;
|
||||
final Duration duration;
|
||||
final Animation<double> animation;
|
||||
|
||||
@ -99,8 +99,8 @@ class SnackBar extends StatelessComponent {
|
||||
)
|
||||
)
|
||||
];
|
||||
if (actions != null)
|
||||
children.addAll(actions);
|
||||
if (action != null)
|
||||
children.add(action);
|
||||
CurvedAnimation heightAnimation = new CurvedAnimation(parent: animation, curve: _snackBarHeightCurve);
|
||||
CurvedAnimation fadeAnimation = new CurvedAnimation(parent: animation, curve: _snackBarFadeCurve);
|
||||
ThemeData theme = Theme.of(context);
|
||||
@ -156,7 +156,7 @@ class SnackBar extends StatelessComponent {
|
||||
return new SnackBar(
|
||||
key: key ?? fallbackKey,
|
||||
content: content,
|
||||
actions: actions,
|
||||
action: action,
|
||||
duration: duration,
|
||||
animation: newAnimation
|
||||
);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user