Overlay.of
jest metodą statyczną Flutter używaną do pobierania widżetu OverlayState
najbliższego przodka Overlay
.
Widżet Overlay
służy do tworzenia stosu widżetów, które mogą być wyświetlane na wierzchu innych widżetów w Flutter aplikacji. Metoda Overlay.of
umożliwia dostęp do OverlayState
powiązanych z określonym plikiem BuildContext
.
Oto przykład, jak możesz użyć, Overlay.of
aby uzyskać dostęp 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'),
),
),
);
}
}
W tym przykładzie po naciśnięciu przycisku Overlay.of
metoda jest używana do pobrania OverlayState
skojarzonego z bieżącym plikiem BuildContext
. Następnie OverlayEntry
jest tworzony i dodawany do metody overlay przy użyciu insert
metody OverlayState
. Spowoduje to wyświetlenie niebieskiego kontenera w określonej pozycji nad innymi widżetami.
Należy pamiętać, że używanie overlay wymaga starannego zarządzania i zwykle należy usuwać wpisy z programu, overlay gdy nie są już potrzebne, aby uniknąć wycieków pamięci.
Jeśli po mojej ostatniej aktualizacji pojawiły się jakieś aktualizacje lub zmiany Overlay.of
, zalecam sprawdzenie Flutter dokumentacji w celu uzyskania najnowszych informacji.