-
-
Save andre-bahia/14fdb0c751822f848a364b3129df1fed to your computer and use it in GitHub Desktop.
import 'package:flutter/services.dart'; | |
import 'package:intl/intl.dart'; | |
class CurrencyPtBrInputFormatter extends TextInputFormatter { | |
TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) { | |
if(newValue.selection.baseOffset == 0){ | |
return newValue; | |
} | |
double value = double.parse(newValue.text); | |
final formatter = new NumberFormat("#,##0.00", "pt_BR"); | |
String newText = "R\$ " + formatter.format(value/100); | |
return newValue.copyWith( | |
text: newText, | |
selection: new TextSelection.collapsed(offset: newText.length)); | |
} | |
} | |
// how to use | |
Widget _fieldValues() { | |
return Padding( | |
padding: EdgeInsets.only(top: 10, bottom: 60), | |
child: TextFormField( | |
decoration: InputDecoration( | |
icon: Icon(Icons.monetization_on), | |
labelText: 'Valor *', | |
), | |
keyboardType: TextInputType.number, | |
inputFormatters: [ | |
FilteringTextInputFormatter.digitsOnly, | |
CurrencyPtBrInputFormatter() | |
] | |
); | |
} | |
Fala @ffranzim, é do proprio core do flutter.
Dei uma pesquisada aqui e essa classe foi depreciada.
https://docs.flutter.dev/release/breaking-changes/2-5-deprecations#blacklistingtextinputformatter--whitelistingtextinputformatter
E foi alterada para FilteringTextInputFormatter.digitsOnly
, teria que alterar e testar.
Como tem um tempo que fiz esse formatter pode ter algum efeito colateral.
Isso mesmo @ffranzim, fiz o teste aqui e funcionou.
Alterei o código acima.
Só não esquecer de importar o import 'package:flutter/services.dart';
Valeu!
Eu tinha achado, vacilo meu não postar!
Obrigado
🚀
Olá, como ficaria para aceitar digitação da esquerda pra direita?
exemplo, se digitar
2 = 2,00
201 = 2,01
210 = 2,10
Código mágico, salvo minha pele rsrs
Código muito bom, mandou bem de mais!!
Código muito bom. top
Top de vdd
Até que enfim, depois de ter deixado um código de lado um tempo ele parou de funcionar essa funcionalidade.
O seu resolveu meu problema, valeu !
obrigado lenda
Jesus, Maria e José tu fez amor com o código <3
Poderia me informar de onde vem o WhitelistingTextInputFormatter?