// 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'; import 'use_cases.dart'; class DialogUseCase extends UseCase { @override String get name => 'Dialog'; @override String get route => '/dialog'; @override Widget build(BuildContext context) => const _MainWidget(); } class _MainWidget extends StatelessWidget { const _MainWidget(); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( backgroundColor: Theme.of(context).colorScheme.inversePrimary, title: const Text('Dialog'), ), body: Center( child: TextButton( autofocus: true, onPressed: () => showDialog<String>( context: context, builder: (BuildContext context) => Dialog( child: Padding( padding: const EdgeInsets.all(8.0), child: Column( mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ const Text('This is a typical dialog.'), const SizedBox(height: 15), TextButton( autofocus: true, onPressed: () { Navigator.pop(context); }, child: const Text('Close'), ), ], ), ), ), ), child: const Text('Show Dialog'), ), ), ); } }