// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Flutter code sample for CupertinoActionSheet import 'package:flutter/cupertino.dart'; void main() => runApp(const MyApp()); class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); static const String _title = 'CupertinoActionSheet Sample'; @override Widget build(BuildContext context) { return const CupertinoApp( title: _title, home: ActionSheetSample(title: _title), ); } } class ActionSheetSample extends StatelessWidget { const ActionSheetSample({Key? key, required this.title}) : super(key: key); final String title; // This shows a CupertinoModalPopup which hosts a CupertinoActionSheet. void _showActionSheet(BuildContext context) { showCupertinoModalPopup<void>( context: context, builder: (BuildContext context) => CupertinoActionSheet( title: const Text('Title'), message: const Text('Message'), actions: <CupertinoActionSheetAction>[ CupertinoActionSheetAction( /// This parameter indicates the action would be a default /// defualt behavior, turns the action's text to bold text. isDefaultAction: true, onPressed: () { Navigator.pop(context); }, child: const Text('Default Action'), ), CupertinoActionSheetAction( onPressed: () { Navigator.pop(context); }, child: const Text('Action'), ), CupertinoActionSheetAction( /// This parameter indicates the action would perform /// a destructive action such as delete or exit and turns /// the action's text color to red. isDestructiveAction: true, onPressed: () { Navigator.pop(context); }, child: const Text('Destructive Action'), ) ], ), ); } @override Widget build(BuildContext context) { return CupertinoPageScaffold( navigationBar: CupertinoNavigationBar( middle: Text(title), ), child: Center( child: CupertinoButton( onPressed: () => _showActionSheet(context), child: const Text('CupertinoActionSheet'), ), ), ); } }