Виджет MaterialBanner
Виджет MaterialBanner выводят через
showMaterialBanner.
Текст - content,
кнопки - actions,
лиид - leading.
Похож на SnackBar, но крепится сверху под AppBar.
Синтаксис
MaterialBanner(
content: Text('abcde'),
actions: [
TextButton(onPressed: () {}, child: Text('OK')),
],
)
Параметры
| Параметр | Описание |
|---|---|
content |
Основной текст баннера. |
actions |
Кнопки справа. |
leading |
Иконка слева от текста. |
Пример
Давайте покажем MaterialBanner:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('abcde')),
body: Center(
child: Builder(
builder: (context) {
return ElevatedButton(
onPressed: () {
ScaffoldMessenger.of(context).showMaterialBanner(
MaterialBanner(content: Text('12345')),
);
},
child: Text('12345'),
);
},
),
),
),
),
);
}
Под AppBar появится полоска с '12345'.
Пример
Давайте добавим action и leading:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Builder(
builder: (context) {
return ElevatedButton(
onPressed: () {
ScaffoldMessenger.of(context).showMaterialBanner(
MaterialBanner(
leading: Icon(Icons.info),
content: Text('abcde'),
actions: [
TextButton(onPressed: () {}, child: Text('OK')),
],
),
);
},
child: Text('abcde'),
);
},
),
),
),
),
);
}
Слева иконка info, справа кнопка OK.
Смотрите также
-
виджет
SnackBar,
сообщение внизу экрана -
класс
ScaffoldMessenger,
очередь баннеров -
метод
hideCurrentMaterialBanner,
скрыть баннер -
виджет
Banner,
диагональная лента на виджете