Overlay.of je statická metoda, Flutter která se používá k načtení widgetu OverlayState pro nejbližšího předka Overlay.
Widget Overlay se používá k vytvoření zásobníku widgetů, které lze zobrazit nad ostatními widgety v Flutter aplikaci. Tato Overlay.of metoda vám umožňuje přistupovat k OverlayState souvisejícím s konkrétním BuildContext.
Zde je příklad toho, jak můžete použít Overlay.of pro přístup k 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 tomto příkladu, když je stisknuto tlačítko, Overlay.of metoda se použije k načtení OverlayState přiřazeného k aktuálnímu BuildContext. Poté se vytvoří OverlayEntry a přidá k overlay pomocí insert metody OverlayState. Tím se zobrazí modrý kontejner na určité pozici nad ostatními widgety.
Vezměte prosím na vědomí, že používání overlay vyžaduje pečlivou správu, a pokud overlay již nejsou potřeba, měli byste obvykle odebrat položky, abyste se vyhnuli úniku paměti.
Pokud došlo k nějakým aktualizacím nebo změnám souvisejícím Overlay.of po mé poslední aktualizaci, doporučuji zkontrolovat Flutter nejnovější informace v dokumentaci.

