AppTextField class
A highly customizable text form field with extensive configuration options.
Features:
- Multiple style presets (outlined, filled, underline, rounded, pill)
- Label positioning (above, inside, floating)
- Prefix/suffix icons with customization
- Error state with custom styling
- Loading state indicator
- Character counter
- Password visibility toggle
- Full accessibility support
- Security validation
Example usage:
AppTextField(
style: TextFieldStyle.outlined,
label: 'Email',
hint: 'Enter your email',
prefixIconData: Icons.email,
keyboardType: TextInputType.emailAddress,
validator: (value) => value?.isEmpty ?? true ? 'Required' : null,
)
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- AppTextField
Constructors
-
AppTextField({Key? key, TextEditingController? controller, FocusNode? focusNode, void onChanged(String)?, void onSubmitted(String)?, VoidCallback? onTap, VoidCallback? onEditingComplete, void onSaved(String?)?, String? validator(String?)?, void onFocusChanged(bool)?, TextFieldStyle fieldStyle = TextFieldStyle.outlined, LabelPosition labelPosition = LabelPosition.above, String? label, String? hint, String? helperText, String? errorText, String? counterText, String? prefixText, String? suffixText, double? height, double? width, EdgeInsetsGeometry? contentPadding, double? borderRadius, double? borderWidth, double? labelSpacing, Color? backgroundColor, Color? focusedBackgroundColor, Color? disabledBackgroundColor, Color? borderColor, Color? focusedBorderColor, Color? errorBorderColor, Color? textColor, Color? hintColor, Color? labelColor, Color? errorColor, Color? cursorColor, Color? iconColor, Color? focusedIconColor, Color? prefixTextColor, Color? suffixTextColor, double? fontSize, FontWeight? fontWeight, String? fontFamily, double? labelFontSize, FontWeight? labelFontWeight, double? hintFontSize, TextStyle? textStyle, TextStyle? labelStyle, TextStyle? hintStyle, TextStyle? errorStyle, TextStyle? helperStyle, TextStyle? counterStyle, Widget? prefixIcon, Widget? suffixIcon, IconData? prefixIconData, IconData? suffixIconData, double? prefixIconSize, double? suffixIconSize, Color? prefixIconColor, Color? suffixIconColor, TextInputType? keyboardType, TextInputAction? textInputAction, TextCapitalization textCapitalization = TextCapitalization.none, bool autofocus = false, bool readOnly = false, bool enabled = true, bool enableSuggestions = true, bool autocorrect = true, bool? showCursor, bool obscureText = false, String obscuringCharacter = '•', bool showPasswordToggle = false, Widget? passwordVisibleIcon, Widget? passwordHiddenIcon, int? maxLength, int? maxLines = 1, int? minLines, bool expands = false, bool showCounter = false, List<
TextInputFormatter> ? inputFormatters, Iterable<String> ? autofillHints, AutovalidateMode? autovalidateMode, bool isRequired = false, Color? requiredIndicatorColor, bool isLoading = false, Widget? loadingWidget, String? semanticsLabel, bool? enableSecurity}) -
const
Properties
- autocorrect → bool
-
final
-
autofillHints
→ Iterable<
String> ? -
final
- autofocus → bool
-
final
- autovalidateMode → AutovalidateMode?
-
final
- backgroundColor → Color?
-
final
- borderColor → Color?
-
final
- borderRadius → double?
-
final
- borderWidth → double?
-
final
- contentPadding → EdgeInsetsGeometry?
-
final
- controller → TextEditingController?
-
final
- counterStyle → TextStyle?
-
final
- counterText → String?
-
final
- cursorColor → Color?
-
final
- disabledBackgroundColor → Color?
-
final
- enabled → bool
-
final
- enableSecurity → bool?
-
final
- enableSuggestions → bool
-
final
- errorBorderColor → Color?
-
final
- errorColor → Color?
-
final
- errorStyle → TextStyle?
-
final
- errorText → String?
-
final
- expands → bool
-
final
- fieldStyle → TextFieldStyle
-
final
- focusedBackgroundColor → Color?
-
final
- focusedBorderColor → Color?
-
final
- focusedIconColor → Color?
-
final
- focusNode → FocusNode?
-
final
- fontFamily → String?
-
final
- fontSize → double?
-
final
- fontWeight → FontWeight?
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- height → double?
-
final
- helperStyle → TextStyle?
-
final
- helperText → String?
-
final
- hint → String?
-
final
- hintColor → Color?
-
final
- hintFontSize → double?
-
final
- hintStyle → TextStyle?
-
final
- iconColor → Color?
-
final
-
inputFormatters
→ List<
TextInputFormatter> ? -
final
- isLoading → bool
-
final
- isRequired → bool
-
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- keyboardType → TextInputType?
-
final
- label → String?
-
final
- labelColor → Color?
-
final
- labelFontSize → double?
-
final
- labelFontWeight → FontWeight?
-
final
- labelPosition → LabelPosition
-
final
- labelSpacing → double?
-
final
- labelStyle → TextStyle?
-
final
- loadingWidget → Widget?
-
final
- maxLength → int?
-
final
- maxLines → int?
-
final
- minLines → int?
-
final
- obscureText → bool
-
final
- obscuringCharacter → String
-
final
- onChanged → void Function(String)?
-
final
- onEditingComplete → VoidCallback?
-
final
- onFocusChanged → void Function(bool)?
-
final
- onSaved → void Function(String?)?
-
final
- onSubmitted → void Function(String)?
-
final
- onTap → VoidCallback?
-
final
- passwordHiddenIcon → Widget?
-
final
- passwordVisibleIcon → Widget?
-
final
- prefixIcon → Widget?
-
final
- prefixIconColor → Color?
-
final
- prefixIconData → IconData?
-
final
- prefixIconSize → double?
-
final
- prefixText → String?
-
final
- prefixTextColor → Color?
-
final
- readOnly → bool
-
final
- requiredIndicatorColor → Color?
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- semanticsLabel → String?
-
final
- showCounter → bool
-
final
- showCursor → bool?
-
final
- showPasswordToggle → bool
-
final
- suffixIcon → Widget?
-
final
- suffixIconColor → Color?
-
final
- suffixIconData → IconData?
-
final
- suffixIconSize → double?
-
final
- suffixText → String?
-
final
- suffixTextColor → Color?
-
final
- textCapitalization → TextCapitalization
-
final
- textColor → Color?
-
final
- textInputAction → TextInputAction?
-
final
- textStyle → TextStyle?
-
final
- validator → String? Function(String?)?
-
final
- width → double?
-
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< AppTextField> -
Creates the mutable state for this widget at a given location in the tree.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited