Brug Overlay .of i Flutter: Vejledning og eksempel

Overlay.of er en statisk metode, Flutter der bruges til at hente widgetten OverlayState for den nærmeste forfader Overlay.

Widgetten Overlay bruges til at oprette en stak widgets, der kan vises oven på andre widgets i en Flutter applikation. Metoden Overlay.of giver dig adgang til den OverlayState associerede med en bestemt BuildContext.

Her er et eksempel på, hvordan du kan bruge Overlay.of til at få adgang til 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'),  
       ),  
     ),  
   );  
  }  
}  

I dette eksempel, når der trykkes på knappen, Overlay.of bruges metoden til at hente den OverlayState associerede med den aktuelle BuildContext. En OverlayEntry oprettes derefter og føjes til ved overlay hjælp af insert metoden i OverlayState. Dette viser en blå beholder på en bestemt position oven på andre widgets.

Bemærk venligst, at brug overlay kræver omhyggelig styring, og du bør typisk fjerne indtastninger fra, overlay når de ikke længere er nødvendige for at undgå hukommelseslækager.

Hvis der har været nogen opdateringer eller ændringer relateret til Overlay.of efter min sidste opdatering, anbefaler jeg, at du tjekker Flutter dokumentationen for de seneste oplysninger.