Gebruik Overlay .of in Flutter: gids en voorbeeld

Overlay.of is een statische methode Flutter die wordt gebruikt om de widget OverlayState voor de dichtstbijzijnde voorouder op te halen Overlay.

De Overlay widget wordt gebruikt om een ​​stapel widgets te maken die bovenop andere widgets in een Flutter applicatie kan worden weergegeven. De Overlay.of methode stelt u in staat om toegang te krijgen tot de OverlayState geassocieerd met een specifiek BuildContext.

Hier is een voorbeeld van hoe u zou kunnen gebruiken Overlay.of om toegang te krijgen tot 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'),  
       ),  
     ),  
   );  
  }  
}  

Wanneer in dit voorbeeld op de knop wordt gedrukt, Overlay.of wordt de methode gebruikt om de OverlayState geassocieerd met het huidige BuildContext. Een OverlayEntry wordt vervolgens gemaakt en toegevoegd aan de overlay met behulp van de insert methode van de OverlayState. Dit toont een blauwe container op een specifieke positie bovenop andere widgets.

Houd er rekening mee dat het gebruik overlay zorgvuldig moet worden beheerd en dat u vermeldingen normaal gesproken moet verwijderen overlay wanneer ze niet langer nodig zijn om geheugenlekken te voorkomen.

Als er updates of wijzigingen zijn geweest na Overlay.of mijn laatste update, raad ik aan de Flutter documentatie te raadplegen voor de laatste informatie.