Closed syg-fabiana closed 1 year ago
Eu tenho o iphone 14 e funciona normalmente. Como esta o codigo ?
import 'package:brasil_fields/brasil_fields.dart';
import 'package:flutter/services.dart';
import 'package:google_fonts/google_fonts.dart';
class MaskCnpj extends StatefulWidget {
const MaskCnpj({
Key? key,
this.width,
this.height,
this.color,
this.colorBorder,
this.colorsecond,
}) : super(key: key);
final double? width;
final double? height;
final Color? color;
final Color? colorBorder;
final Color? colorsecond;
@override
_MaskCnpjState createState() => _MaskCnpjState();
}
class _MaskCnpjState extends State<MaskCnpj> {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'SCR',
theme: ThemeData(primarySwatch: Colors.blue),
home: DefaultTabController(
length: 3,
child: Scaffold(
resizeToAvoidBottomInset: false,
backgroundColor: const Color.fromRGBO(0, 0, 0, 0.0),
body: Padding(
padding: const EdgeInsets.all(0),
child: Container(
child:
RowFormatters(
label: 'CNPJ Empresa',
cor: widget.color!,
corBorder: widget.colorBorder!,
segCor: widget.colorsecond!,
formatter: CnpjInputFormatter(),
),
),
),
),
),
);
}
}
class RowFormatters extends StatefulWidget {
final String label;
final TextInputFormatter formatter;
final Color cor;
final Color corBorder;
final Color segCor;
const RowFormatters({
Key? key,
required this.label,
required this.formatter,
required this.cor,
required this.corBorder,
required this.segCor,
}) : super(key: key);
@override
State<RowFormatters> createState() => _RowFormattersState();
}
class _RowFormattersState extends State<RowFormatters> {
@override
Widget build(BuildContext context) {
final control = TextEditingController(text: FFAppState().maskInputCnpj);
return TextFormField(
validator: (String? value) {
if (value != null && value.isEmpty) {
return 'Insira o CNPJ';
} if (value!.length < 11) {
return 'Campo CNPJ não recebe menos que 11 digitos, Confira seu CNPJ.';}
return null;},
controller: control,
keyboardType: TextInputType.text,
onChanged: (s) {
FFAppState().maskInputCnpj = control.text;
},
obscureText: false,
decoration: InputDecoration(
labelText: widget.label,
labelStyle: TextStyle(
color: widget.segCor ),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: widget.corBorder,
width: 1,
),
borderRadius: BorderRadius.circular(12),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: widget.corBorder,
width: 1,
),
borderRadius: BorderRadius.circular(12),
),
errorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Color(0x00000000),
width: 1,
),
borderRadius: BorderRadius.circular(12),
),
focusedErrorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Color(0x00000000),
width: 1,
),
borderRadius: BorderRadius.circular(12),
),
),
style: FlutterFlowTheme.of(context).bodyText1.override(
fontFamily: FlutterFlowTheme.of(context).bodyText1Family,
color: widget.cor,
fontSize: 12,
useGoogleFonts: GoogleFonts.asMap()
.containsKey(FlutterFlowTheme.of(context).bodyText1Family),
),
inputFormatters: [
FilteringTextInputFormatter.digitsOnly,
widget.formatter,
],
);
}
}
o estranho é que testei em outro iphone e outros celulares android todos funcionam normalmente.
e somente com este formatter ?
não, estou usando telefone e cep tbm.
e quando tira o formatter, funciona ?
vou fazer e pedi ao meu chefe para testar.
Meu chefe tem o iphone 14, no celular dele a mask não funciona, não permite o click no imput, ja testei em outros iphones e em celulares andriod funcionam perfeitamente, saberia me dizer oq posso fazer para resolver esse problema?