|
|
|
@ -53,7 +53,9 @@ class _CupertinoAlertDemoState extends State<CupertinoAlertDemo> {
|
|
|
|
|
style: CupertinoTheme.of(context).textTheme.textStyle,
|
|
|
|
|
child: Builder(
|
|
|
|
|
builder: (BuildContext context) {
|
|
|
|
|
final List<Widget> stackChildren = <Widget>[
|
|
|
|
|
return Stack(
|
|
|
|
|
alignment: Alignment.center,
|
|
|
|
|
children: <Widget>[
|
|
|
|
|
CupertinoScrollbar(
|
|
|
|
|
child: ListView(
|
|
|
|
|
// Add more padding to the normal safe area.
|
|
|
|
@ -62,7 +64,54 @@ class _CupertinoAlertDemoState extends State<CupertinoAlertDemo> {
|
|
|
|
|
children: <Widget>[
|
|
|
|
|
CupertinoButton.filled(
|
|
|
|
|
child: const Text('Alert'),
|
|
|
|
|
onPressed: () => _onAlertPress(context),
|
|
|
|
|
),
|
|
|
|
|
const Padding(padding: EdgeInsets.all(8.0)),
|
|
|
|
|
CupertinoButton.filled(
|
|
|
|
|
child: const Text('Alert with Title'),
|
|
|
|
|
padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 36.0),
|
|
|
|
|
onPressed: () => _onAlertWithTitlePress(context),
|
|
|
|
|
),
|
|
|
|
|
const Padding(padding: EdgeInsets.all(8.0)),
|
|
|
|
|
CupertinoButton.filled(
|
|
|
|
|
child: const Text('Alert with Buttons'),
|
|
|
|
|
padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 36.0),
|
|
|
|
|
onPressed: () => _onAlertWithButtonsPress(context),
|
|
|
|
|
),
|
|
|
|
|
const Padding(padding: EdgeInsets.all(8.0)),
|
|
|
|
|
CupertinoButton.filled(
|
|
|
|
|
child: const Text('Alert Buttons Only'),
|
|
|
|
|
padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 36.0),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
showDemoDialog(
|
|
|
|
|
context: context,
|
|
|
|
|
child: const CupertinoDessertDialog(),
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
const Padding(padding: EdgeInsets.all(8.0)),
|
|
|
|
|
CupertinoButton.filled(
|
|
|
|
|
child: const Text('Action Sheet'),
|
|
|
|
|
padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 36.0),
|
|
|
|
|
onPressed: () => _onActionSheetPress(context),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
if (lastSelectedValue != null)
|
|
|
|
|
Positioned(
|
|
|
|
|
bottom: 32.0,
|
|
|
|
|
child: Text('You selected: $lastSelectedValue'),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void _onAlertPress(BuildContext context) {
|
|
|
|
|
showDemoDialog(
|
|
|
|
|
context: context,
|
|
|
|
|
child: CupertinoAlertDialog(
|
|
|
|
@ -71,27 +120,19 @@ class _CupertinoAlertDemoState extends State<CupertinoAlertDemo> {
|
|
|
|
|
CupertinoDialogAction(
|
|
|
|
|
child: const Text('Discard'),
|
|
|
|
|
isDestructiveAction: true,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
Navigator.pop(context, 'Discard');
|
|
|
|
|
},
|
|
|
|
|
onPressed: () => Navigator.pop(context, 'Discard'),
|
|
|
|
|
),
|
|
|
|
|
CupertinoDialogAction(
|
|
|
|
|
child: const Text('Cancel'),
|
|
|
|
|
isDefaultAction: true,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
Navigator.pop(context, 'Cancel');
|
|
|
|
|
},
|
|
|
|
|
onPressed: () => Navigator.pop(context, 'Cancel'),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
const Padding(padding: EdgeInsets.all(8.0)),
|
|
|
|
|
CupertinoButton.filled(
|
|
|
|
|
child: const Text('Alert with Title'),
|
|
|
|
|
padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 36.0),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void _onAlertWithTitlePress(BuildContext context) {
|
|
|
|
|
showDemoDialog(
|
|
|
|
|
context: context,
|
|
|
|
|
child: CupertinoAlertDialog(
|
|
|
|
@ -101,26 +142,18 @@ class _CupertinoAlertDemoState extends State<CupertinoAlertDemo> {
|
|
|
|
|
actions: <Widget>[
|
|
|
|
|
CupertinoDialogAction(
|
|
|
|
|
child: const Text('Don\'t Allow'),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
Navigator.pop(context, 'Disallow');
|
|
|
|
|
},
|
|
|
|
|
onPressed: () => Navigator.pop(context, 'Disallow'),
|
|
|
|
|
),
|
|
|
|
|
CupertinoDialogAction(
|
|
|
|
|
child: const Text('Allow'),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
Navigator.pop(context, 'Allow');
|
|
|
|
|
},
|
|
|
|
|
onPressed: () => Navigator.pop(context, 'Allow'),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
const Padding(padding: EdgeInsets.all(8.0)),
|
|
|
|
|
CupertinoButton.filled(
|
|
|
|
|
child: const Text('Alert with Buttons'),
|
|
|
|
|
padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 36.0),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void _onAlertWithButtonsPress(BuildContext context) {
|
|
|
|
|
showDemoDialog(
|
|
|
|
|
context: context,
|
|
|
|
|
child: const CupertinoDessertDialog(
|
|
|
|
@ -130,24 +163,9 @@ class _CupertinoAlertDemoState extends State<CupertinoAlertDemo> {
|
|
|
|
|
'list of eateries in your area.'),
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
const Padding(padding: EdgeInsets.all(8.0)),
|
|
|
|
|
CupertinoButton.filled(
|
|
|
|
|
child: const Text('Alert Buttons Only'),
|
|
|
|
|
padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 36.0),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
showDemoDialog(
|
|
|
|
|
context: context,
|
|
|
|
|
child: const CupertinoDessertDialog(),
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
const Padding(padding: EdgeInsets.all(8.0)),
|
|
|
|
|
CupertinoButton.filled(
|
|
|
|
|
child: const Text('Action Sheet'),
|
|
|
|
|
padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 36.0),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void _onActionSheetPress(BuildContext context) {
|
|
|
|
|
showDemoActionSheet(
|
|
|
|
|
context: context,
|
|
|
|
|
child: CupertinoActionSheet(
|
|
|
|
@ -156,52 +174,21 @@ class _CupertinoAlertDemoState extends State<CupertinoAlertDemo> {
|
|
|
|
|
actions: <Widget>[
|
|
|
|
|
CupertinoActionSheetAction(
|
|
|
|
|
child: const Text('Profiteroles'),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
Navigator.pop(context, 'Profiteroles');
|
|
|
|
|
},
|
|
|
|
|
onPressed: () => Navigator.pop(context, 'Profiteroles'),
|
|
|
|
|
),
|
|
|
|
|
CupertinoActionSheetAction(
|
|
|
|
|
child: const Text('Cannolis'),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
Navigator.pop(context, 'Cannolis');
|
|
|
|
|
},
|
|
|
|
|
onPressed: () => Navigator.pop(context, 'Cannolis'),
|
|
|
|
|
),
|
|
|
|
|
CupertinoActionSheetAction(
|
|
|
|
|
child: const Text('Trifle'),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
Navigator.pop(context, 'Trifle');
|
|
|
|
|
},
|
|
|
|
|
onPressed: () => Navigator.pop(context, 'Trifle'),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
cancelButton: CupertinoActionSheetAction(
|
|
|
|
|
child: const Text('Cancel'),
|
|
|
|
|
isDefaultAction: true,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
Navigator.pop(context, 'Cancel');
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
if (lastSelectedValue != null) {
|
|
|
|
|
stackChildren.add(
|
|
|
|
|
Positioned(
|
|
|
|
|
bottom: 32.0,
|
|
|
|
|
child: Text('You selected: $lastSelectedValue'),
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
return Stack(
|
|
|
|
|
alignment: Alignment.center,
|
|
|
|
|
children: stackChildren,
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
onPressed: () => Navigator.pop(context, 'Cancel'),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|