Menggunakan Overlay .of di Flutter: Panduan dan Contoh

Overlay.of adalah metode statis Flutter yang digunakan untuk mengambil widget OverlayState leluhur terdekat Overlay.

Widget Overlay digunakan untuk membuat tumpukan widget yang dapat ditampilkan di atas widget lain dalam sebuah Flutter aplikasi. Metode ini Overlay.of memungkinkan Anda untuk mengakses yang OverlayState terkait dengan file BuildContext.

Berikut adalah contoh bagaimana Anda dapat 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, ketika tombol ditekan, Overlay.of metode ini digunakan untuk mengambil yang OverlayState terkait dengan arus BuildContext. An OverlayEntry kemudian dibuat dan ditambahkan ke dalam overlay menggunakan insert metode OverlayState. Ini menampilkan wadah biru pada posisi tertentu di atas widget lainnya.

Harap perhatikan bahwa penggunaan overlay memerlukan pengelolaan yang hati-hati, dan biasanya Anda harus menghapus entri dari saat overlay tidak diperlukan lagi untuk menghindari kebocoran memori.

Jika ada pembaruan atau perubahan terkait Overlay.of setelah pembaruan terakhir saya, saya sarankan untuk memeriksa Flutter dokumentasi untuk informasi terbaru.