Overlay.of
é um método estático Flutter usado para recuperar o widget OverlayState
do ancestral mais próximo Overlay
.
O Overlay
widget é usado para criar uma pilha de widgets que podem ser exibidos sobre outros widgets em um Flutter aplicativo. O Overlay.of
método permite acessar o OverlayState
associado a um arquivo BuildContext
.
Aqui está um exemplo de como você pode usar Overlay.of
para acessar o OverlayState
:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Overlay.of Example'),
),
body: Center(
child: ElevatedButton(
onPressed:() {
OverlayState overlayState = Overlay.of(context);
OverlayEntry overlayEntry = OverlayEntry(
builder:(BuildContext context) {
return Positioned(
top: 100,
left: 50,
child: Container(
width: 100,
height: 100,
color: Colors.blue,
),
);
},
);
overlayState.insert(overlayEntry);
},
child: Text('Show Overlay'),
),
),
);
}
}
Neste exemplo, quando o botão é pressionado, o Overlay.of
método é usado para recuperar o OverlayState
associado ao atual BuildContext
. Um OverlayEntry
é então criado e adicionado ao overlay usando o insert
método do OverlayState
. Isso exibe um contêiner azul em uma posição específica sobre outros widgets.
Observe que o uso overlay requer um gerenciamento cuidadoso e, normalmente, você deve remover as entradas do overlay quando elas não forem mais necessárias para evitar vazamentos de memória.
Se houver atualizações ou alterações relacionadas à Overlay.of
minha última atualização, recomendo verificar a Flutter documentação para obter as informações mais recentes.