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 τεκμηρίωση για τις πιο πρόσφατες πληροφορίες.