Overlay.of
er en statisk metode Flutter som brukes til å hente widgeten OverlayState
for nærmeste forfedre Overlay
.
Widgeten Overlay
brukes til å lage en stabel med widgets som kan vises på toppen av andre widgets i en Flutter applikasjon. Metoden Overlay.of
lar deg få tilgang til OverlayState
assosiert med en spesifikk BuildContext
.
Her er et eksempel på hvordan du kan bruke Overlay.of
for å få tilgang 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 eksemplet, når knappen trykkes, Overlay.of
brukes metoden for å hente den OverlayState
som er knyttet til gjeldende BuildContext
. En OverlayEntry
blir deretter opprettet og lagt til ved å overlay bruke insert
metoden til OverlayState
. Dette viser en blå beholder på en bestemt posisjon på toppen av andre widgets.
Vær oppmerksom på at bruk overlay krever nøye håndtering, og du bør vanligvis fjerne oppføringer fra når overlay de ikke lenger er nødvendige for å unngå minnelekkasjer.
Hvis det har vært noen oppdateringer eller endringer relatert til Overlay.of
etter min siste oppdatering, anbefaler jeg å sjekke Flutter dokumentasjonen for den nyeste informasjonen.