Você está aqui: Flutter ::: Material Library - Biblioteca Material ::: AlertDialog

Aprenda a usar caixas de alerta AlertDialog em seus aplicativos Flutter

Quantidade de visualizações: 2799 vezes
Em várias ocasiões nós precisamos de caixas de avisos, ou caixas de alerta em nossos apps Flutter. Para isso nós temos a classe AlertDialog, da biblioteca de widgets Material. Veja sua posição na hierarquia de classes do Flutter e do Material:

Object -> DiagnosticableTree -> Widget -> StatelessWidget -> AlertDialog

Note que um diálogo de alerta é um widget StatelessWidget, ou seja, o usuário não consegue interagir com ele, a não ser clicar no botão de fechar. Se você pretende exibir um diálogo de alerta com mais possibilidades de iteração, considere usar a classe SimpleDialog.

Veja um código completo para uma aplicação Flutter que exibe uma mensagem de alerta quando o usuário clicar em um botão:

import 'package:flutter/material.dart';

// método principal do Dart, que inicia a aplicação
void main() {
  runApp(MeuApp());
}

class MeuApp extends StatelessWidget {
  // Este  widget é a raiz da aplicação Flutter
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Caixa de alerta AlertDialog',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: TelaInicial(),
    );
  }
}

// Vamos construir a view e retornar para a raiz da aplicação
class TelaInicial extends StatefulWidget {
  TelaInicial({Key key}) : super(key: key);
  @override
  _TelaInicialState createState() => _TelaInicialState();
}

class _TelaInicialState extends State<TelaInicial> {
  // este método permite mostrar uma caixa de alerta AlertDialog
  Future<void> _mostrarCaixaAlerta() async {
    return showDialog<void>(context: context,
      barrierDismissible: false, builder: (BuildContext context) {
        return new AlertDialog(
          title: new Text("Título do Aviso"),
          content: new SingleChildScrollView(
            child: new ListBody(
              children: [
                new Text("E aqui vai o texto.\n\nMais uma linha"),
              ],
            ),
          ),
          actions: [
            new FlatButton(
              child: new Text('OK'),
              onPressed: () {
                Navigator.of(context).pop();
              },
            ),
          ],
        );
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    final btn = ElevatedButton(
      onPressed: _mostrarCaixaAlerta,
      child: Text('Mostrar Aviso de Alerta'),
    );

    return Scaffold(
      appBar: AppBar(
        title: Text("Caixa de alerta AlertDialog"),
      ),
      body: Center(
        child: Container(
          child: Padding(
            padding: const EdgeInsets.all(20.0),
            child: Column(
              children: <Widget>[
                // o botão vai aqui
                btn,
              ],
            ),
          ),
        ),
      ),
    );
  }
}

Execute a aplicação e clique no botão para ver o resultado.

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de Flutter

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 35 usuários muito felizes estudando em nosso site.