Χρήση Overlay .of σε Flutter: Οδηγός και Παράδειγμα

Overlay.of είναι μια στατική μέθοδος Flutter που χρησιμοποιείται για την ανάκτηση του γραφικού στοιχείου OverlayState για τον πλησιέστερο πρόγονο Overlay.

Το Overlay γραφικό στοιχείο χρησιμοποιείται για τη δημιουργία μιας στοίβας γραφικών στοιχείων που μπορούν να εμφανίζονται πάνω από άλλα γραφικά στοιχεία σε μια Flutter εφαρμογή. Η Overlay.of μέθοδος σάς επιτρέπει να έχετε πρόσβαση στο OverlayState συσχετισμένο με ένα συγκεκριμένο BuildContext.

Ακολουθεί ένα παράδειγμα του τρόπου με τον οποίο μπορείτε να χρησιμοποιήσετε Overlay.of για πρόσβαση στο 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'),  
       ),  
     ),  
   );  
  }  
}  

Σε αυτό το παράδειγμα, όταν πατηθεί το κουμπί, Overlay.of χρησιμοποιείται η μέθοδος για την ανάκτηση των OverlayState συσχετισμένων με το ρεύμα BuildContext. OverlayEntry Στη συνέχεια δημιουργείται ένα και προστίθεται στο overlay χρησιμοποιώντας τη insert μέθοδο του OverlayState. Αυτό εμφανίζει ένα μπλε κοντέινερ σε μια συγκεκριμένη θέση πάνω από άλλα γραφικά στοιχεία.

Λάβετε υπόψη ότι η χρήση overlay απαιτεί προσεκτική διαχείριση και συνήθως θα πρέπει να αφαιρείτε τις καταχωρίσεις από το overlay όταν δεν χρειάζονται πλέον για να αποφύγετε διαρροές μνήμης.

Εάν υπήρξαν ενημερώσεις ή αλλαγές που σχετίζονται με Overlay.of μετά την τελευταία μου ενημέρωση, συνιστώ να ελέγξετε την Flutter τεκμηρίωση για τις πιο πρόσφατες πληροφορίες.