Utilizarea Overlay .of în Flutter: Ghid și Exemplu

Overlay.of este o metodă statică în Flutter care este folosită pentru a prelua widgetul OverlayState pentru cel mai apropiat strămoș Overlay.

Widgetul Overlay este folosit pentru a crea un teanc de widget-uri care pot fi afișate deasupra altor widget-uri dintr-o Flutter aplicație. Metoda Overlay.of vă permite să accesați cele OverlayState asociate cu un anumit BuildContext.

Iată un exemplu despre cum ați putea folosi Overlay.of pentru a accesa 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'),  
       ),  
     ),  
   );  
  }  
}  

În acest exemplu, atunci când butonul este apăsat, Overlay.of metoda este utilizată pentru a prelua datele OverlayState asociate cu curentul BuildContext. An OverlayEntry este apoi creat și adăugat la overlay folosind insert metoda OverlayState. Aceasta afișează un container albastru într-o anumită poziție deasupra altor widget-uri.

Vă rugăm să rețineți că utilizarea overlay necesită o gestionare atentă și, de obicei, ar trebui să eliminați intrările din overlay când nu mai sunt necesare pentru a evita scurgerile de memorie.

Dacă au existat actualizări sau modificări legate de Overlay.of după ultima actualizare, vă recomand să verificați Flutter documentația pentru cele mai recente informații.