Overlay.of
je statična metoda, Flutter ki se uporablja za pridobivanje gradnika OverlayState
najbližjega prednika Overlay
.
Gradnik Overlay
se uporablja za ustvarjanje niza gradnikov, ki so lahko prikazani na vrhu drugih gradnikov v aplikaciji Flutter. Metoda Overlay.of
vam omogoča dostop do OverlayState
povezanih z določenim BuildContext
.
Tukaj je primer, kako lahko uporabite Overlay.of
za dostop do 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'),
),
),
);
}
}
V tem primeru, ko je gumb pritisnjen, Overlay.of
se metoda uporabi za pridobitev OverlayState
povezane s trenutnim BuildContext
. An OverlayEntry
se nato ustvari in doda z overlay uporabo insert
metode OverlayState
. To prikaže modri vsebnik na določenem mestu na vrhu drugih pripomočkov.
Upoštevajte, da uporaba overlay zahteva skrbno upravljanje in da bi morali običajno odstraniti vnose iz, overlay ko niso več potrebni, da se izognete uhajanju pomnilnika.
Če je po moji zadnji posodobitvi prišlo do kakršnih koli posodobitev ali sprememb Overlay.of
, priporočam, da preverite Flutter dokumentacijo za najnovejše informacije.