Overlay.of
yra statinis metodas, Flutter naudojamas OverlayState
artimiausio protėvio Overlay
valdikliui nuskaityti.
Valdiklis Overlay
naudojamas valdiklių, kurie gali būti rodomi ant kitų Flutter programos valdiklių, krūvai sukurti. Metodas Overlay.of
leidžia pasiekti OverlayState
susietą su konkrečia BuildContext
.
Štai pavyzdys, kaip galite Overlay.of
pasiekti 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'),
),
),
);
}
}
Šiame pavyzdyje, kai paspaudžiamas mygtukas, Overlay.of
metodas naudojamas norint gauti OverlayState
susietą su dabartine BuildContext
. Tada sukuriamas OverlayEntry
ir pridedamas prie overlay naudojant insert
metodą OverlayState
. Tai rodo mėlyną konteinerį konkrečioje vietoje ant kitų valdiklių.
Atkreipkite dėmesį, kad naudojant overlay reikia kruopštaus valdymo ir paprastai turėtumėte pašalinti įrašus, kai overlay jie nebereikalingi, kad išvengtumėte atminties nutekėjimo.
Jei po paskutinio atnaujinimo buvo kokių nors atnaujinimų ar pakeitimų, naujausios informacijos Overlay.of
rekomenduoju peržiūrėti dokumentacijoje. Flutter