Kutumia Overlay .of katika Flutter: Mwongozo na Mfano

Overlay.of ni njia tuli Flutter ambayo inatumika kupata wijeti OverlayState ya babu iliyo karibu zaidi Overlay.

Wijeti Overlay hutumika kuunda rundo la wijeti ambazo zinaweza kuonyeshwa juu ya wijeti zingine kwenye Flutter programu. Njia Overlay.of hukuruhusu kufikia OverlayState inayohusishwa na BuildContext.

Hapa kuna mfano wa jinsi unavyoweza kutumia Overlay.of kufikia 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'),  
       ),  
     ),  
   );  
  }  
}  

Katika mfano huu, wakati kifungo kikibonyezwa, Overlay.of njia hutumiwa kurejesha OverlayState inayohusishwa na sasa BuildContext. Kisha huundwa OverlayEntry na kuongezwa kwa overlay kutumia insert njia ya OverlayState. Hii inaonyesha kontena la bluu katika nafasi maalum juu ya wijeti zingine.

Tafadhali kumbuka kuwa kutumia overlay kunahitaji usimamizi makini, na kwa kawaida unapaswa kuondoa maingizo kutoka wakati overlay hayahitajiki tena ili kuzuia uvujaji wa kumbukumbu.

Ikiwa kumekuwa na sasisho au mabadiliko yoyote yanayohusiana na Overlay.of baada ya sasisho langu la mwisho, ninapendekeza uangalie Flutter nyaraka kwa taarifa za hivi karibuni.