Make the floating action button respond to tap (#6095)

Fixes #6053
This commit is contained in:
Adam Barth 2016-09-27 10:18:05 -07:00 committed by GitHub
parent 0734edbeb0
commit c7369a40ac

View File

@ -19,11 +19,11 @@ class _PersistentBottomSheetDemoState extends State<PersistentBottomSheetDemo> {
@override
void initState() {
super.initState();
_showBottomSheetCallback = showBottomSheet;
_showBottomSheetCallback = _showBottomSheet;
}
void showBottomSheet() {
void _showBottomSheet() {
setState(() { // disable the button
_showBottomSheetCallback = null;
});
@ -47,18 +47,33 @@ class _PersistentBottomSheetDemoState extends State<PersistentBottomSheetDemo> {
})
.closed.then((_) {
setState(() { // re-enable the button
_showBottomSheetCallback = showBottomSheet;
_showBottomSheetCallback = _showBottomSheet;
});
});
}
void _showMessage() {
showDialog(
context: context,
child: new Dialog(
content: new Text('You tapped the floating action button.'),
actions: <Widget>[
new FlatButton(
onPressed: () { Navigator.of(context).pop(); },
child: new Text('OK')
)
]
)
);
}
@override
Widget build(BuildContext context) {
return new Scaffold(
key: _scaffoldKey,
appBar: new AppBar(title: new Text('Persistent bottom sheet')),
floatingActionButton: new FloatingActionButton(
onPressed: null,
onPressed: _showMessage,
backgroundColor: Colors.redAccent[200],
child: new Icon(Icons.add)
),