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

Метод insert

Метод insert класса OverlayState метод insert вызывают у OverlayState, который вернул of. Параметр entry - готовая OverlayEntry.

Синтаксис

overlayState.insert(entry, above: otherEntry);

Параметры

ПараметрОписание
entryЗапись с builder, которую рисуют в Overlay.
aboveНеобязательная запись, выше которой вставить entry.

Пример

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

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

На экране кнопка 'abcde'; insert покажет '12345' по центру слоя.

Пример

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

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

По нажатию '12345' insert добавит текст 'abcde' в угол.

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

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