Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
543 of 1024 menu
◀ ▶

Функция showDialog

Функция showDialog показывает окно поверх маршрута. В context передают контекст экрана, в builder - виджет окна, обычно AlertDialog. Возвращает Future с результатом после закрытия.

Синтаксис

showDialog( context: context, builder: (BuildContext context) { return AlertDialog(title: Text('abcde')); }, )

Параметры

Параметр Описание
context Контекст активного экрана. Обязательный параметр.
builder Строит содержимое окна. Обязательный параметр.
barrierDismissible Закрывать окно по нажатию на затемнённый фон.
useRootNavigator Какой Navigator использовать для маршрута окна.

Пример

Давайте откроем AlertDialog по нажатию кнопки:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: DialogDemo())); } class DialogDemo extends StatelessWidget { const DialogDemo({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: Center( child: ElevatedButton( onPressed: () { showDialog( context: context, builder: (BuildContext ctx) { return AlertDialog( title: Text('abcde'), content: Text('12345'), ); }, ); }, child: Text('abcde'), ), ), ); } }

Поверх экрана появится AlertDialog с заголовком и текстом.

Пример

Давайте закроем окно кнопкой в actions:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: DialogDemo2())); } class DialogDemo2 extends StatelessWidget { const DialogDemo2({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: Center( child: ElevatedButton( onPressed: () { showDialog( context: context, builder: (BuildContext ctx) { return AlertDialog( title: Text('12345'), actions: [ TextButton( onPressed: () => Navigator.pop(ctx), child: Text('abcde'), ), ], ); }, ); }, child: Text('12345'), ), ), ); } }

Кнопка 'abcde' вызовет Navigator.pop и закроет диалог.

Смотрите также

  • виджет AlertDialog,
    готовое окно с title и actions
  • функция showGeneralDialog,
    диалог с настройкой анимации
  • функция showAdaptiveDialog,
    стиль под iOS или Material
  • виджет Dialog,
    форма окна без готового содержимого
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить