Uporaba Overlay .of v Flutter: vodnik in primer

Overlay.of je statična metoda, Flutter ki se uporablja za pridobivanje gradnika OverlayState najbližjega prednika Overlay.

Gradnik Overlay se uporablja za ustvarjanje niza gradnikov, ki so lahko prikazani na vrhu drugih gradnikov v aplikaciji Flutter. Metoda Overlay.of vam omogoča dostop do OverlayState povezanih z določenim BuildContext.

Tukaj je primer, kako lahko uporabite Overlay.of za dostop 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'),  
       ),  
     ),  
   );  
  }  
}  

V tem primeru, ko je gumb pritisnjen, Overlay.of se metoda uporabi za pridobitev OverlayState povezane s trenutnim BuildContext. An OverlayEntry se nato ustvari in doda z overlay uporabo insert metode OverlayState. To prikaže modri vsebnik na določenem mestu na vrhu drugih pripomočkov.

Upoštevajte, da uporaba overlay zahteva skrbno upravljanje in da bi morali običajno odstraniti vnose iz, overlay ko niso več potrebni, da se izognete uhajanju pomnilnika.

Če je po moji zadnji posodobitvi prišlo do kakršnih koli posodobitev ali sprememb Overlay.of, priporočam, da preverite Flutter dokumentacijo za najnovejše informacije.