textField method
Implementation
@override
Widget textField() => Focus(
focusNode: focusNode,
onFocusChange: (bool haveFocus) {
if (!haveFocus) {
validate();
widget.onUnfocus?.call();
}
},
canRequestFocus: false,
child: AnimatedContainer(
duration: const Duration(milliseconds: 200),
height: textFieldHeight,
child: TextField(
key: _containerKey,
autofocus: widget.autofocus,
readOnly: widget.readOnly,
obscureText: obscure,
maxLines: null,
autocorrect: false,
autofillHints: widget.autofillHints,
textCapitalization: TextCapitalization.none,
controller: controller,
onChanged: onChanged,
keyboardType: widget.keyboardType,
inputFormatters: inputFormatters,
style: TextStyle(
color: widget.readOnly ? Colors.grey.shade800 : null,
),
decoration: InputDecoration(
border: InputBorder.none,
contentPadding: const EdgeInsets.symmetric(horizontal: 8),
isDense: true,
labelText: labelText,
hintText: widget.hintText,
hintStyle: const TextStyle(
fontWeight: FontWeight.w400,
),
enabledBorder: InputBorder.none,
focusedBorder: InputBorder.none,
errorBorder: InputBorder.none,
disabledBorder: InputBorder.none,
isCollapsed: false,
fillColor: null,
),
onSubmitted: (_) => widget.onSubmit?.call(),
),
),
);