Naudojimas: vadovas ir Overlay .of pavyzdys Flutter

Overlay.of yra statinis metodas, Flutter naudojamas OverlayState artimiausio protėvio Overlay valdikliui nuskaityti.

Valdiklis Overlay naudojamas valdiklių, kurie gali būti rodomi ant kitų Flutter programos valdiklių, krūvai sukurti. Metodas Overlay.of leidžia pasiekti OverlayState susietą su konkrečia BuildContext.

Štai pavyzdys, kaip galite Overlay.of pasiekti 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'),  
       ),  
     ),  
   );  
  }  
}  

Šiame pavyzdyje, kai paspaudžiamas mygtukas, Overlay.of metodas naudojamas norint gauti OverlayState susietą su dabartine BuildContext. Tada sukuriamas OverlayEntry ir pridedamas prie overlay naudojant insert metodą OverlayState. Tai rodo mėlyną konteinerį konkrečioje vietoje ant kitų valdiklių.

Atkreipkite dėmesį, kad naudojant overlay reikia kruopštaus valdymo ir paprastai turėtumėte pašalinti įrašus, kai overlay jie nebereikalingi, kad išvengtumėte atminties nutekėjimo.

Jei po paskutinio atnaujinimo buvo kokių nors atnaujinimų ar pakeitimų, naujausios informacijos Overlay.of rekomenduoju peržiūrėti dokumentacijoje. Flutter