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 ドキュメントで最新情報を確認することをお勧めします。