| // 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. |
| |
| import 'package:flutter/material.dart'; |
| |
| /// Flutter code sample for [showDialog]. |
| |
| void main() => runApp(const ShowDialogExampleApp()); |
| |
| class ShowDialogExampleApp extends StatelessWidget { |
| const ShowDialogExampleApp({super.key}); |
| |
| @override |
| Widget build(BuildContext context) { |
| return MaterialApp( |
| theme: ThemeData(colorSchemeSeed: const Color(0xff6750a4), useMaterial3: true), |
| home: const DialogExample(), |
| ); |
| } |
| } |
| |
| class DialogExample extends StatelessWidget { |
| const DialogExample({super.key}); |
| |
| @override |
| Widget build(BuildContext context) { |
| return Scaffold( |
| appBar: AppBar(title: const Text('showDialog Sample')), |
| body: Center( |
| child: OutlinedButton( |
| onPressed: () => _dialogBuilder(context), |
| child: const Text('Open Dialog'), |
| ), |
| ), |
| ); |
| } |
| |
| Future<void> _dialogBuilder(BuildContext context) { |
| return showDialog<void>( |
| context: context, |
| builder: (BuildContext context) { |
| return AlertDialog( |
| title: const Text('Basic dialog title'), |
| content: const Text( |
| 'A dialog is a type of modal window that\n' |
| 'appears in front of app content to\n' |
| 'provide critical information, or prompt\n' |
| 'for a decision to be made.', |
| ), |
| actions: <Widget>[ |
| TextButton( |
| style: TextButton.styleFrom( |
| textStyle: Theme.of(context).textTheme.labelLarge, |
| ), |
| child: const Text('Disable'), |
| onPressed: () { |
| Navigator.of(context).pop(); |
| }, |
| ), |
| TextButton( |
| style: TextButton.styleFrom( |
| textStyle: Theme.of(context).textTheme.labelLarge, |
| ), |
| child: const Text('Enable'), |
| onPressed: () { |
| Navigator.of(context).pop(); |
| }, |
| ), |
| ], |
| ); |
| }, |
| ); |
| } |
| } |