Виджет CloseButton
Виджет CloseButton закрывает диалог, drawer или bottom sheet.
По умолчанию вызывает Navigator.pop,
своё действие - в onPressed,
цвет - в color.
Ставят в actions AppBar или угол Dialog.
Синтаксис
CloseButton(
onPressed: () {
Navigator.pop(context);
},
)
Параметры
| Параметр | Описание |
|---|---|
onPressed |
Действие при нажатии на крестик. |
color |
Цвет иконки закрытия. |
Пример
Давайте закроем диалог CloseButton:
import 'package:flutter/material.dart';
void main()
{
runApp(const MaterialApp(home: CloseDemo()));
}
class CloseDemo extends StatelessWidget
{
const CloseDemo({super.key});
@override
Widget build(BuildContext context)
{
return Scaffold(
body: Center(
child: ElevatedButton(
onPressed: () {
showDialog(
context: context,
builder: (ctx) {
return AlertDialog(
title: Text('abcde'),
actions: [CloseButton(onPressed: () => Navigator.pop(ctx))],
);
},
);
},
child: Text('12345'),
),
),
);
}
}
Крестик в actions закроет AlertDialog.
Пример
Давайте поставим CloseButton в AppBar:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
appBar: AppBar(
leading: CloseButton(onPressed: () {}),
title: Text('abcde'),
),
body: Center(child: Text('12345')),
),
),
);
}
Слева на панели иконка закрытия.
Смотрите также
-
виджет
BackButton,
стрелка назад вместо крестика -
виджет
IconButton,
произвольная иконка-кнопка -
виджет
AlertDialog,
который закрываютCloseButton -
функция
showDialog,
которой открывают окно