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

Всплывающее сообщение SnackBar в Flutter

Лёгкая обратная связь - «сохранено», «ошибка сети» - не требует отдельного экрана. Material показывает полоску SnackBar над нижним краем. Вызов идёт через ScaffoldMessenger.of(context).showSnackBar.

Объект ScaffoldMessenger привязан к MaterialApp и знает, какой Scaffold сейчас активен. Текст кладут в content, часто как Text. Кнопку действия кладут в action как SnackBarAction. Сообщение исчезает само или по свайпу:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: SnackDemoPage())); } class SnackDemoPage extends StatelessWidget { const SnackDemoPage({super.key}); void showSaved(BuildContext context) { ScaffoldMessenger.of(context).showSnackBar( const SnackBar( content: Text('Changes saved'), duration: Duration(seconds: 2), ), ); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('SnackBar')), body: Center( child: ElevatedButton( onPressed: () => showSaved(context), child: const Text('Save'), ), ), ); } }

По нажатию «Delete» показывайте SnackBar с текстом 'Item deleted' и кнопкой действия 'Undo', которая выводит debugPrint с текстом 'Delete undone'.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить