dialogText static method
Future<String>
dialogText({
- required BuildContext context,
- required String title,
- required String message,
- String confirmLabel = 'OK',
- String cancelLabel = 'CANCELAR',
- String startString = '',
- TextInputType keyboardType = TextInputType.text,
- bool scrollable = false,
Implementation
static Future<String> dialogText({
required BuildContext context,
required String title,
required String message,
String confirmLabel = 'OK',
String cancelLabel = 'CANCELAR',
String startString = '',
TextInputType keyboardType = TextInputType.text,
bool scrollable = false,
}) async {
TextEditingController controller = TextEditingController()
..text = startString;
controller.selection = TextSelection(
baseOffset: 0,
extentOffset: controller.text.length,
);
String? value = await showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text(title),
scrollable: scrollable,
content: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Padding(
padding: const EdgeInsets.only(
top: 16,
left: 8,
right: 8,
),
child: SelectableText(
message,
style: const TextStyle(fontSize: 18),
),
),
Padding(
padding: const EdgeInsets.all(8),
child: TextField(
controller: controller,
keyboardType: keyboardType,
autofocus: true,
),
),
],
),
actions: <Widget>[
ElevatedButton(
onPressed: () => Navigator.of(context).pop(),
child: Text(cancelLabel),
),
TextButton(
onPressed: () => Navigator.of(context).pop(controller.text),
child: Text(confirmLabel),
),
],
);
},
);
return value ?? '';
}