// 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 ActionSheetApp()); class ActionSheetApp extends StatelessWidget { const ActionSheetApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return const CupertinoApp( theme: CupertinoThemeData(brightness: Brightness.light), home: ActionSheetExample(), ); } } class ActionSheetExample extends StatelessWidget { const ActionSheetExample({Key? key}) : super(key: key); // 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: const CupertinoNavigationBar( middle: Text('CupertinoActionSheet Sample'), ), child: Center( child: CupertinoButton( onPressed: () => _showActionSheet(context), child: const Text('CupertinoActionSheet'), ), ), ); } }