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.