Bruker Overlay .of i Flutter: Veiledning og eksempel

Overlay.of er en statisk metode Flutter som brukes til å hente widgeten OverlayState for nærmeste forfedre Overlay.

Widgeten Overlay brukes til å lage en stabel med widgets som kan vises på toppen av andre widgets i en Flutter applikasjon. Metoden Overlay.of lar deg få tilgang til OverlayState assosiert med en spesifikk BuildContext.

Her er et eksempel på hvordan du kan bruke Overlay.of for å få tilgang 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 eksemplet, når knappen trykkes, Overlay.of brukes metoden for å hente den OverlayState som er knyttet til gjeldende BuildContext. En OverlayEntry blir deretter opprettet og lagt til ved å overlay bruke insert metoden til OverlayState. Dette viser en blå beholder på en bestemt posisjon på toppen av andre widgets.

Vær oppmerksom på at bruk overlay krever nøye håndtering, og du bør vanligvis fjerne oppføringer fra når overlay de ikke lenger er nødvendige for å unngå minnelekkasjer.

Hvis det har vært noen oppdateringer eller endringer relatert til Overlay.of etter min siste oppdatering, anbefaler jeg å sjekke Flutter dokumentasjonen for den nyeste informasjonen.