Flutter:没有小数点的键盘

San*_*osh 6 dart custom-keyboard flutter

我需要一个只有数字(没有十进制符号)的 numberInputKeyboard。我已经尝试过,keyboardType: TextInputType.numberWithOptions(decimal: false)但这仍然对我没有帮助

DaG*_*ner 19

一个答案建议使用 a BlacklistingTextInputFormatter,它肯定适用于您的英语语言环境。但是,这可能不适用于使用 a,而不是 a.作为十进制分隔符的其他语言环境。

所以我建议使用WhitelistingTextInputFormatter

import "package:flutter/services.dart";
TextFormField(
  keyboardType: TextInputType.number,
  inputFormatters: [WhitelistingTextInputFormatter.digitsOnly],
)
Run Code Online (Sandbox Code Playgroud)

这将只允许数字[0-9]

更新:

WhitelistingTextInputFormatter作为被重命名!以下是最新版本,不再被弃用,FilteringTextInputFormatter.allow并为数字提供了快捷方式:

import "package:flutter/services.dart";
TextFormField(
  keyboardType: TextInputType.number,
  inputFormatters: [FilteringTextInputFormatter.digitsOnly],
)
Run Code Online (Sandbox Code Playgroud)