InputDecoration 源码分析
const InputDecoration({this.icon, // 装饰器外小图标this.labelText, // 文本框描述标签this.labelStyle, // 文本框描述标签样式this.helperText, // 文本框辅助标签this.helperStyle, // 文本框辅助标签样式this.hintText, // 文本框默认提示信息this.hintStyle, // 文本框默认提示信息样式this.hintMaxLines, // 文本框默认提示信息最大行数this.errorText, // 文本框错误提示信息this.errorStyle, // 文本框错误提示信息样式this.errorMaxLines, // 文本框错误提示信息最大行数this.hasFloatingPlaceholder = true, // 文本框获取焦点后 labelText 是否向上浮动this.isDense, // 是否问紧凑型文本框this.contentPadding, // 文本内边距this.prefixIcon, // 前置图标this.prefix, // 前置预填充 Widgetthis.prefixText, // 前置预填充文本this.prefixStyle, // 前置预填充样式this.suffixIcon, // 后置图标this.suffix, // 后置预填充 Widgetthis.suffixText, // 后置预填充文本this.suffixStyle, // 后置预填充样式this.counter, // 输入框右下角 Widgetthis.counterText, // 输入框右下角文本this.counterStyle, // 输入框右下角样式this.filled, // 是否颜色填充文本框this.fillColor, // 填充颜色this.errorBorder, // errorText 存在时未获取焦点边框this.focusedBorder, // 获取焦点时边框this.focusedErrorBorder, // errorText 存在时获取焦点边框this.disabledBorder, // 不可用时边框this.enabledBorder, // 可用时边框this.border, // 边框this.enabled = true, // 输入框是否可用this.semanticCounterText,this.alignLabelWithHint, // 覆盖将标签与 TextField 的中心对齐})const ({@required this.hintText,this.hasFloatingPlaceholder = true,this.hintStyle,this.filled = false,this.fillColor,this.border = ,this.enabled = true,})
分析源码可知,Flutter 不仅提供了全面的构建装饰器的方式,还提供了简单便利的构建方式 collapsed 默认是无边框的,且无法设置标签等其他属性;
