Overlay.of
er en statisk metode, Flutter der bruges til at hente widgetten OverlayState
for den nærmeste forfader Overlay
.
Widgetten Overlay
bruges til at oprette en stak widgets, der kan vises oven på andre widgets i en Flutter applikation. Metoden Overlay.of
giver dig adgang til den OverlayState
associerede med en bestemt BuildContext
.
Her er et eksempel på, hvordan du kan bruge Overlay.of
til at få adgang til 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'),
),
),
);
}
}
I dette eksempel, når der trykkes på knappen, Overlay.of
bruges metoden til at hente den OverlayState
associerede med den aktuelle BuildContext
. En OverlayEntry
oprettes derefter og føjes til ved overlay hjælp af insert
metoden i OverlayState
. Dette viser en blå beholder på en bestemt position oven på andre widgets.
Bemærk venligst, at brug overlay kræver omhyggelig styring, og du bør typisk fjerne indtastninger fra, overlay når de ikke længere er nødvendige for at undgå hukommelseslækager.
Hvis der har været nogen opdateringer eller ændringer relateret til Overlay.of
efter min sidste opdatering, anbefaler jeg, at du tjekker Flutter dokumentationen for de seneste oplysninger.