buildDefaultLabelBuilder static method
WidgetStateProperty<LabelBuilder>
buildDefaultLabelBuilder(
- WidgetStateProperty<
TextStyle> labelStyle, - WidgetStateProperty<
TextStyle> tagStyle, - WidgetStateProperty<
TextStyle> errorTextStyle
Implementation
static WidgetStateProperty<LabelBuilder> buildDefaultLabelBuilder(
WidgetStateProperty<TextStyle> labelStyle,
WidgetStateProperty<TextStyle> tagStyle,
WidgetStateProperty<TextStyle> errorTextStyle,
) {
return WidgetStateProperty.resolveWith((states) {
return (label, tag, isRequired, infoIcon) {
final children = [
if (label != null)
RichText(
text: TextSpan(
text: label,
style: labelStyle.resolve(states),
children: isRequired ? [TextSpan(text: ' *', style: TextStyle(color: errorTextStyle.resolve(states).color))] : null,
),
),
if (tag != null) Text(tag, style: tagStyle.resolve(states)),
if (infoIcon != null) infoIcon,
];
if (children.isEmpty) return SizedBox.shrink();
if (children.length == 1) return children[0];
return Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
spacing: 3,
children: children,
);
};
});
}