Метод of
Метод of класса ScaffoldMessenger возвращает ближайший
над переданным context.
Через него вызывают
showSnackBar
и
showMaterialBanner.
Синтаксис
ScaffoldMessenger.of(context)
Параметры
| Параметр | Описание |
|---|---|
context |
BuildContext виджета под MaterialApp.
|
Пример
Давайте найдём messenger и покажем SnackBar:
import 'package:flutter/material.dart';
void main()
{
runApp(const MaterialApp(home: MessengerOfDemo()));
}
class MessengerOfDemo extends StatelessWidget
{
const MessengerOfDemo({super.key});
@override
Widget build(BuildContext context)
{
return Scaffold(
body: Center(
child: ElevatedButton(
onPressed: () {
final messenger = ScaffoldMessenger.of(context);
messenger.showSnackBar(
SnackBar(content: Text('abcde')),
);
},
child: Text('abcde'),
),
),
);
}
}
of вернёт ScaffoldMessengerState для showSnackBar.
Пример
Давайте обернём экран в отдельный messenger:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: ScaffoldMessenger(
child: Scaffold(
body: Center(child: Text('12345')),
),
),
),
);
}
ScaffoldMessenger.of найдёт обёртку над Scaffold.
Смотрите также
-
виджет
ScaffoldMessenger,
корень очереди плашек -
метод
showSnackBar,
показатьSnackBar -
метод
Scaffold.of,
найтиScaffoldState -
виджет
Scaffold,
каркас экрана