I need a numberInputKeyboard which only has numbers (without decimal symbol). I have tried with keyboardType: TextInputType.numberWithOptions(decimal: false)
but still this dosen't help me
One answer recommends using a BlacklistingTextInputFormatter
which certainly works in your case with English locale. This however might not work with other locales which use a ,
instead of a .
as decimal seperator.
So I'd recommend using a WhitelistingTextInputFormatter
:
import "package:flutter/services.dart";
TextFormField(
keyboardType: TextInputType.number,
inputFormatters: [WhitelistingTextInputFormatter.digitsOnly],
)
This will only allows the digits [0-9]
.
UPDATE:
The WhitelistingTextInputFormatter
as been renamed! The following is the up-to date version and no longer deprecated by FilteringTextInputFormatter.allow
and provides a shortcut for the digits as well:
import "package:flutter/services.dart";
TextFormField(
keyboardType: TextInputType.number,
inputFormatters: [FilteringTextInputFormatter.digitsOnly],
)