Menggunakan Overlay .of dalam Flutter: Panduan dan Contoh

Overlay.of ialah kaedah statik Flutter yang digunakan untuk mendapatkan semula widget OverlayState nenek moyang terdekat Overlay.

Widget Overlay digunakan untuk membuat timbunan widget yang boleh dipaparkan di atas widget lain dalam Flutter aplikasi. Kaedah ini Overlay.of membolehkan anda mengakses yang OverlayState berkaitan dengan BuildContext.

Berikut ialah contoh cara anda boleh menggunakan Overlay.of untuk mengakses 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'),  
       ),  
     ),  
   );  
  }  
}  

Dalam contoh ini, apabila butang ditekan, Overlay.of kaedah digunakan untuk mendapatkan semula yang OverlayState berkaitan dengan arus BuildContext. An OverlayEntry kemudian dibuat dan ditambah pada overlay menggunakan insert kaedah OverlayState. Ini memaparkan bekas biru pada kedudukan tertentu di atas widget lain.

Sila ambil perhatian bahawa penggunaan overlay memerlukan pengurusan yang teliti, dan anda biasanya harus mengalih keluar masukan daripada entri overlay apabila ia tidak diperlukan lagi untuk mengelakkan kebocoran memori.

Jika terdapat sebarang kemas kini atau perubahan yang berkaitan Overlay.of selepas kemas kini terakhir saya, saya syorkan anda menyemak Flutter dokumentasi untuk mendapatkan maklumat terkini.