Käyttö: Overlay .of opas Flutter ja esimerkki

Overlay.of on staattinen menetelmä, jota käytetään lähimmän esivanhemman widgetin Flutter hakemiseen. OverlayState Overlay

Widgetin Overlay avulla luodaan pino widgetejä, jotka voidaan näyttää sovelluksen muiden widgetien päällä Flutter. Menetelmän Overlay.of avulla voit käyttää OverlayState tiettyyn BuildContext.

Tässä on esimerkki siitä, kuinka voit Overlay.of käyttää 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'),  
       ),  
     ),  
   );  
  }  
}  

Tässä esimerkissä, kun painiketta painetaan, menetelmää Overlay.of käytetään hakemaan OverlayState nykyiseen BuildContext. Sen OverlayEntry jälkeen luodaan ja lisätään overlay kohtaan insert. OverlayState Tämä näyttää sinisen säilön tietyssä kohdassa muiden widgetien päällä.

Huomaa, että käyttö overlay vaatii huolellista hallintaa, ja sinun tulee yleensä poistaa merkinnät, kun overlay niitä ei enää tarvita muistivuotojen välttämiseksi.

Jos viimeisimmän päivitykseni jälkeen on tapahtunut päivityksiä tai muutoksia Overlay.of, suosittelen tarkistamaan Flutter uusimmat tiedot dokumentaatiosta.