Overlay.of
on staattinen menetelmä, jota käytetään lähimmän esivanhemman widgetin Flutter hakemiseen. OverlayState
Overlay
Widgetin Overlay
avulla luodaan pino widgetejä, jotka voidaan näyttää sovelluksen muiden widgetien päällä Flutter. Menetelmän Overlay.of
avulla voit käyttää OverlayState
tiettyyn BuildContext
.
Tässä on esimerkki siitä, kuinka voit Overlay.of
käyttää 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'),
),
),
);
}
}
Tässä esimerkissä, kun painiketta painetaan, menetelmää Overlay.of
käytetään hakemaan OverlayState
nykyiseen BuildContext
. Sen OverlayEntry
jälkeen luodaan ja lisätään overlay kohtaan insert
. OverlayState
Tämä näyttää sinisen säilön tietyssä kohdassa muiden widgetien päällä.
Huomaa, että käyttö overlay vaatii huolellista hallintaa, ja sinun tulee yleensä poistaa merkinnät, kun overlay niitä ei enää tarvita muistivuotojen välttämiseksi.
Jos viimeisimmän päivitykseni jälkeen on tapahtunut päivityksiä tai muutoksia Overlay.of
, suosittelen tarkistamaan Flutter uusimmat tiedot dokumentaatiosta.