Overlay.of
je statička metoda Flutter koja se koristi za dohvaćanje widgeta OverlayState
najbližeg pretka Overlay
.
Widget Overlay
se koristi za stvaranje niza widgeta koji se mogu prikazati na vrhu drugih widgeta u aplikaciji Flutter. Metoda Overlay.of
vam omogućuje pristup OverlayState
povezanom s određenim BuildContext
.
Evo primjera kako možete koristiti Overlay.of
za pristup 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'),
),
),
);
}
}
U ovom primjeru, kada se pritisne gumb, Overlay.of
metoda se koristi za dohvaćanje OverlayState
povezanog s trenutnim BuildContext
. Zatim se OverlayEntry
kreira i dodaje u overlay koristeći insert
metodu OverlayState
. Ovo prikazuje plavi spremnik na određenom mjestu na vrhu drugih widgeta.
Imajte na umu da korištenje overlay zahtijeva pažljivo upravljanje i obično biste trebali ukloniti unose iz overlay kada više nisu potrebni kako biste izbjegli curenje memorije.
Ako je bilo bilo kakvih ažuriranja ili promjena vezanih Overlay.of
uz moje zadnje ažuriranje, preporučujem da provjerite Flutter dokumentaciju za najnovije informacije.