Класс SnackBarAction
Класс SnackBarAction передают в action у
SnackBar.
Подпись кнопки - в label,
нажатие - в onPressed,
цвет текста - в textColor.
Синтаксис
SnackBarAction(
label: 'abcde',
onPressed: () {},
)
Параметры
| Параметр | Описание |
|---|---|
label |
Текст на кнопке действия. |
onPressed |
Вызывается при нажатии на action. |
Пример
Давайте покажем SnackBar с action:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Builder(
builder: (context) {
return ElevatedButton(
onPressed: () {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('abcde'),
action: SnackBarAction(
label: '12345',
onPressed: () {},
),
),
);
},
child: Text('abcde'),
);
},
),
),
),
),
);
}
Справа на полоске кнопка '12345'.
Пример
Давайте закроем SnackBar из action:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Builder(
builder: (context) {
return ElevatedButton(
onPressed: () {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('12345'),
action: SnackBarAction(
label: 'abcde',
onPressed: () {
ScaffoldMessenger.of(context).hideCurrentSnackBar();
},
),
),
);
},
child: Text('12345'),
);
},
),
),
),
),
);
}
Нажатие 'abcde' скроет SnackBar.
Смотрите также
-
виджет
SnackBar,
куда передают action -
класс
ScaffoldMessenger,
через который вызываютshowSnackBar -
метод
hideCurrentSnackBar,
который убирает полоску -
виджет
TextButton,
похожий стиль текстовой кнопки