Overlay.of
ialah kaedah statik Flutter yang digunakan untuk mendapatkan semula widget OverlayState
nenek moyang terdekat Overlay
.
Widget Overlay
digunakan untuk membuat timbunan widget yang boleh dipaparkan di atas widget lain dalam Flutter aplikasi. Kaedah ini Overlay.of
membolehkan anda mengakses yang OverlayState
berkaitan dengan BuildContext
.
Berikut ialah contoh cara anda boleh menggunakan Overlay.of
untuk mengakses 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'),
),
),
);
}
}
Dalam contoh ini, apabila butang ditekan, Overlay.of
kaedah digunakan untuk mendapatkan semula yang OverlayState
berkaitan dengan arus BuildContext
. An OverlayEntry
kemudian dibuat dan ditambah pada overlay menggunakan insert
kaedah OverlayState
. Ini memaparkan bekas biru pada kedudukan tertentu di atas widget lain.
Sila ambil perhatian bahawa penggunaan overlay memerlukan pengurusan yang teliti, dan anda biasanya harus mengalih keluar masukan daripada entri overlay apabila ia tidak diperlukan lagi untuk mengelakkan kebocoran memori.
Jika terdapat sebarang kemas kini atau perubahan yang berkaitan Overlay.of
selepas kemas kini terakhir saya, saya syorkan anda menyemak Flutter dokumentasi untuk mendapatkan maklumat terkini.