Overlay.of
là một phương thức tĩnh trong Flutter được sử dụng để lấy đối tượng OverlayState
cho Overlay
widget gần nhất trong cây widget.
Overlay
widget được sử dụng để tạo một ngăn xếp các widget có thể hiển thị lên phía trên các widget khác trong ứng dụng Flutter. Phương thức Overlay.of
cho phép bạn truy cập vào đối tượng OverlayState
liên quan đến một BuildContext
cụ thể.
Dưới đây là một ví dụ về cách bạn có thể sử dụng Overlay.of
để truy cập 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('Ví dụ Overlay.of'),
),
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('Hiển thị Overlay'),
),
),
);
}
}
Trong ví dụ này, khi nút được nhấn, phương thức Overlay.of
được sử dụng để lấy đối tượng OverlayState
liên quan đến BuildContext
hiện tại. Sau đó, một OverlayEntry
được tạo và thêm vào overlay bằng cách sử dụng phương thức insert
của OverlayState
. Điều này sẽ hiển thị một container màu xanh ở vị trí cụ thể trên các widget khác.
Vui lòng lưu ý rằng việc sử dụng overlay yêu cầu quản lý cẩn thận và bạn thường nên loại bỏ các entry khỏi overlay khi chúng không còn cần thiết để tránh lỗi bộ nhớ.
Nếu có bất kỳ cập nhật hoặc thay đổi nào liên quan đến Overlay.of
sau lần cập nhật cuối cùng của tôi, tôi khuyến nghị kiểm tra tài liệu Flutter để biết thông tin mới nhất.