createTextField static method

Widget createTextField(
  1. dynamic context,
  2. dynamic ctr,
  3. dynamic currentFocus,
  4. dynamic nextFocus,
  5. dynamic hintText, {
  6. dynamic isPassword = false,
  7. dynamic readOnly = false,
  8. dynamic inputAction = TextInputAction.next,
  9. Widget? suffixIcon,
  10. dynamic onPressIcon,
  11. dynamic inputType = TextInputType.text,
  12. dynamic maxLength,
  13. dynamic maxLines = 1,
  14. dynamic padding,
  15. dynamic fontSize,
  16. dynamic textColor = Colors.black,
  17. dynamic borderColor,
  18. Function? onSubmit,
  19. Function? onChanged,
  20. dynamic inputFormatters,
  21. double sizeBorder = 5.0,
  22. Color fillColor = Colors.white,
})

Implementation

static Widget createTextField(context, ctr, currentFocus, nextFocus, hintText,
    {isPassword = false, readOnly = false, inputAction = TextInputAction.next,
    Widget? suffixIcon, onPressIcon, inputType = TextInputType.text,
    maxLength, maxLines = 1, padding, fontSize, textColor = Colors.black, borderColor,
    Function? onSubmit, Function? onChanged, inputFormatters, double sizeBorder = 5.0,Color fillColor = Colors.white}) {

  final enabledBorder = OutlineInputBorder(
      borderRadius: BorderRadius.circular(sizeBorder),
      borderSide: BorderSide(color: borderColor??StyleCustom.borderTextColor, width: 0.5));

  inputFormatters ??= <TextInputFormatter>[
    LengthLimitingTextInputFormatter(maxLength??1000000000)
  ];

  InputDecoration decoration = InputDecoration(
      filled: true,
      fillColor: fillColor,
      contentPadding: padding ?? EdgeInsets.fromLTRB(30.sp, 0, 30.sp, 0),
      suffixIcon: suffixIcon == null ? null : IconButton(onPressed: onPressIcon, icon: suffixIcon),
      hintText: hintText,
      border: enabledBorder,
      enabledBorder: enabledBorder,
      focusedBorder: enabledBorder
    );

  return TextField(
      style: TextStyle(color: textColor, fontSize: fontSize??40.sp),
      maxLines: maxLines,
      focusNode: currentFocus,
      onSubmitted: (term) {
        currentFocus.unfocus();
        if (context != null && nextFocus != null) FocusScope.of(context).requestFocus(nextFocus);
        if (inputAction == TextInputAction.done && onSubmit != null) onSubmit();
      },
      onChanged: (value) {
        if (onChanged != null) onChanged(ctr, value);
      },
      controller: ctr,
      textInputAction: inputAction,
      obscureText: isPassword,
      decoration: decoration,
      readOnly: readOnly,
      keyboardType: inputType,
      inputFormatters: inputFormatters);
}