Overlay.of
este o metodă statică în Flutter care este folosită pentru a prelua widgetul OverlayState
pentru cel mai apropiat strămoș Overlay
.
Widgetul Overlay
este folosit pentru a crea un teanc de widget-uri care pot fi afișate deasupra altor widget-uri dintr-o Flutter aplicație. Metoda Overlay.of
vă permite să accesați cele OverlayState
asociate cu un anumit BuildContext
.
Iată un exemplu despre cum ați putea folosi Overlay.of
pentru a accesa 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'),
),
),
);
}
}
În acest exemplu, atunci când butonul este apăsat, Overlay.of
metoda este utilizată pentru a prelua datele OverlayState
asociate cu curentul BuildContext
. An OverlayEntry
este apoi creat și adăugat la overlay folosind insert
metoda OverlayState
. Aceasta afișează un container albastru într-o anumită poziție deasupra altor widget-uri.
Vă rugăm să rețineți că utilizarea overlay necesită o gestionare atentă și, de obicei, ar trebui să eliminați intrările din overlay când nu mai sunt necesare pentru a evita scurgerile de memorie.
Dacă au existat actualizări sau modificări legate de Overlay.of
după ultima actualizare, vă recomand să verificați Flutter documentația pentru cele mai recente informații.