Как принудительно ввести в текстовое поле вставку числа в заданном диапазоне в Flutter - PullRequest
0 голосов
/ 25 апреля 2020

Я создал диалоговый виджет во Flutter, чтобы вставить процентное значение в мое приложение. Теперь я бы принудительно вставил только значения от 0 до 100: например, если я наберу git 56, то все клавиши на клавиатуре станут недоступными, кроме cancel one; если я наберу git 10, то будут доступны только клавиши 0 и cancel ... и так далее. Есть ли какая-то особенность во Флаттере для ее достижения?

enter image description here

1 Ответ

0 голосов
/ 25 апреля 2020

Вы не сможете выполнить такую ​​настройку с помощью встроенных клавиатур, поэтому вам нужно будет создать собственную цифровую клавиатуру (вы можете использовать GridView, закрепленный в нижней части экрана) с помощью кнопок и просто отключить их на основе на условиях ниже в качестве примера:

if (input.length() == 2 && input[0] != 1){
 //disable all buttons except cancel
} else if (input.length() == 2 && input[0] == 1 && input[1] == [0]){
 //only show the '0' button, disable all others
} 
...