Класс TextInputFormatter
Абстрактный класс TextInputFormatter реализуют FilteringTextInputFormatter и LengthLimitingTextInputFormatter.
Синтаксис
class MyFormatter extends TextInputFormatter { ... }
Методы
| Метод | Описание |
|---|---|
formatEditUpdate |
Получает oldValue и newValue. Давайте разберём вызов на примерах. |
Пример
Давайте ограничим длину:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: TextField(inputFormatters: [LengthLimitingTextInputFormatter(5)], decoration: const InputDecoration(labelText: 'abcde')),
),
),
),
);
}
На экране поле не примет больше пяти символов.
Пример
Давайте разрешим только цифры:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: TextField(inputFormatters: [FilteringTextInputFormatter.digitsOnly], decoration: const InputDecoration(hintText: '12345')),
),
),
),
);
}
На экране клавиатура вводит только цифры.
Смотрите также
-
класс
FilteringTextInputFormatter,
который пропускает или режет символы -
класс
LengthLimitingTextInputFormatter,
который ограничивает длину строки -
виджет
TextField,
который принимает текст с клавиатуры -
метод
formatEditUpdate,
который возвращает новую строку при правке