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

Метод remove

Метод remove класса OverlayEntry убирает эту запись из слоя. После удаления запись можно вставить снова.

Синтаксис

entry.remove();

Пример

Давайте снимем запись remove:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: RemoveDemo())); } class RemoveDemo extends StatelessWidget { const RemoveDemo({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: Center( child: ElevatedButton( onPressed: () { late OverlayEntry entry; entry = OverlayEntry( builder: (ctx) { return Center( child: TextButton( onPressed: () { entry.remove(); }, child: Text('12345'), ), ); }, ); Overlay.of(context).insert(entry); }, child: const Text('abcde'), ), ), ); } }

Кнопка 'abcde' откроет слой; remove на '12345' уберёт запись.

Пример

Давайте вызовем remove сразу после insert:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: QuickRemoveDemo())); } class QuickRemoveDemo extends StatelessWidget { const QuickRemoveDemo({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: Center( child: ElevatedButton( onPressed: () { final entry = OverlayEntry( builder: (ctx) => Text('12345'), ); Overlay.of(context).insert(entry); entry.remove(); }, child: const Text('12345'), ), ), ); } }

Нажатие '12345' вставит и сразу снимет OverlayEntry, экран останется без слоя.

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

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