TextField
const TextField({
Key key,
this.controller, //
this.focusNode,//
this.decoration = const InputDecoration(),
TextInputType keyboardType,//控制文本输入的信息
this.textInputAction, // 用于控制键盘动作(一般位于右下角,默认是完成)
this.textCapitalization = TextCapitalization.none,//TextCapitalization
this.style,//输入的文本样式
this.strutStyle,
this.textAlign = TextAlign.start,//文本对齐方式
this.textAlignVertical,//输入框中文本的垂直对齐方式。
this.textDirection,
this.readOnly = false, //如果为ture 无法修改文本
ToolbarOptions toolbarOptions,//工具栏选项的配置。
this.showCursor, //是否显示光标
this.autofocus = false, //自动获取焦点
this.obscureText = false,//是否隐藏正在编辑的文本(例如,密码)。
this.autocorrect = true, //是否启用自动更正。
SmartDashesType smartDashesType,//指示如何处理文本输入中虚线的智能替换。
SmartQuotesType smartQuotesType,//指示如何处理文本输入中虚线的智能替换。
this.enableSuggestions = true,//是否在用户键入时显示输入建议
this.maxLines = 1, //文本跨距的最大行数,如有必要可换行。
this.minLines,//内容跨越较少行时要占用的最小行数。
this.expands = false,//是否调整此小部件的高度以填充其父控件。
this.maxLength, //能输入的最大字符个数
this.maxLengthEnforced = true,//配合maxLength一起使用,在达到最大长度时是否阻止输入
this.onChanged,//输入文本发生变化时的回调
this.onEditingComplete, //点击键盘完成按钮时触发的回调,该回调没有参数,(){}
this.onSubmitted, //同样是点击键盘完成按钮时触发的回调,该回调有参数,参数即为当前输入框中的值。(String){}
this.inputFormatters, //对输入文本的校验
this.enabled, //输入框是否可用
this.cursorWidth = 2.0, //光标的宽度
this.cursorRadius, //光标的圆角
this.cursorColor, //光标的颜色
this.selectionHeightStyle = ui.BoxHeightStyle.tight,//控制选择高亮显示框的计算高度。
this.selectionWidthStyle = ui.BoxWidthStyle.tight, //控制选择高亮显示框的计算宽度。
this.keyboardAppearance, //键盘的外观。
this.scrollPadding = const EdgeInsets.all(20.0),//当文本字段滚动到视图中时,配置对[Scrollable]周围边缘的填充。
this.dragStartBehavior = DragStartBehavior.start,
this.enableInteractiveSelection = true,
this.onTap,//点击输入框时的回调(){}
this.buildCounter, //生成自定义[输入装饰器计数器]小工具。
this.scrollController,
this.scrollPhysics, //滑动
})
InputDecoration
const InputDecoration({
this.icon, //显示在输入字段之前和装饰外部的图标
this.labelText,//描述输入字段的文本。
this.labelStyle,
this.helperText, //提供输入[child]值的上下文的ext,例如如何使用该值。
this.helperStyle,
this.helperMaxLines, //helperText 最大行数
this.hintText, //建议字段接受哪种输入的文本。
this.hintStyle,
this.hintMaxLines,
this.errorText,//显示在输入[子项]和边框下方的文本。
this.errorStyle,
this.errorMaxLines,
this.floatingLabelBehavior = FloatingLabelBehavior.auto, //定义浮动标签的显示方式。
this.isDense,
this.contentPadding,
this.prefixIcon, // 输入之前放置在行上的可选小部件
this.prefixIconConstraints,
this.prefix,
this.prefixText,
this.prefixStyle,
this.suffixIcon, //输入后放置在行上的可选小部件。
this.suffix,
this.suffixText,
this.suffixStyle,
this.suffixIconConstraints,
this.counter, // 可选的自定义计数器小部件,用于放置在其他位置
this.counterText,
this.counterStyle,
this.filled, //如果为true,则装饰的容器将填充[fillColor]
this.fillColor, //装饰容器颜色的基础填充颜色。
this.focusColor,
this.hoverColor,
this.errorBorder,
this.focusedBorder, //当[InputDecorator]有焦点且未显示错误时要显示的边框。
this.focusedErrorBorder, //当[InputDecorator]有焦点并且显示错误时要显示的边框。
this.disabledBorder, //[InputDecorator]被禁用且不显示错误时要显示的边框。
this.enabledBorder, //启用[InputDecorator]且未显示错误时要显示的边框。
this.border, //在装饰容器周围绘制的边框形状。
this.enabled = true, //如果没有显示false[helperText]、[errorText]和[counterText],则其余可视元素的不透明度将降低。
this.semanticCounterText,
this.alignLabelWithHint,
})
TextInputType
优化文本输入控件的信息类型
text 文本
multiline 多行文本 按下Enter键时接受换行符
number 数字
phone 手机号
datetime 日期和时间
emailAddress URL 随时访问“@”和“.”键
visiblePassword 用户可见的密码进行优化。 可以同时访问字母和数字的键盘。
TextInputAction
用于控制键盘动作(一般位于右下角,默认是完成)
none
unspecified
done
go
search
send
next
previous
continueAction
join
route
emergencyCall
newline
TextCapitalization
配置平台键盘如何选择大写或小写键盘。
words
sentences
characters
none
TextAlignVertical
输入框中文本的垂直对齐方式。
top
center
bottom
TextInputFormatter
提供正在编辑的文本的键入验证和格式设置。
网友评论