fromDynamic static method
Builds the builder from a Map-like dynamic structure. This expects the JSON format to be of the following structure:
{
"alignment": "<MainAxisAlignment>",
"buttonAlignedDropdown": "<bool>",
"buttonHeight": "<double>",
"buttonMinWidth": "<double>",
"buttonPadding": "<EdgeInsetsGeometry>",
"buttonTextTheme": "<ButtonTextTheme>",
"layoutBehavior": "<ButtonBarLayoutBehavior>",
"mainAxisSize": "<MainAxisSize>",
"overflowButtonSpacing": "<double>",
"overflowDirection": "<VerticalDirection>"
}
See also:
ThemeDecoder.decodeTextBaseline
Implementation
static JsonButtonBarBuilder? fromDynamic(
dynamic map, {
JsonWidgetRegistry? registry,
}) {
JsonButtonBarBuilder? result;
if (map != null) {
result = JsonButtonBarBuilder(
alignment: ThemeDecoder.decodeMainAxisAlignment(
map['alignment'],
validate: false,
),
buttonAlignedDropdown: map['buttonAlignedDropdown'] == null
? null
: JsonClass.parseBool(map['buttonAlignedDropdown']),
buttonHeight: JsonClass.maybeParseDouble(map['buttonHeight']),
buttonMinWidth: JsonClass.maybeParseDouble(map['buttonMinWidth']),
buttonPadding: ThemeDecoder.decodeEdgeInsetsGeometry(
map['buttonPadding'],
validate: false,
),
buttonTextTheme: ThemeDecoder.decodeButtonTextTheme(
map['buttonTextTheme'],
validate: false,
),
layoutBehavior: ThemeDecoder.decodeButtonBarLayoutBehavior(
map['layoutBehavior'],
validate: false,
),
mainAxisSize: ThemeDecoder.decodeMainAxisSize(
map['mainAxisSize'],
validate: false,
),
overflowButtonSpacing:
JsonClass.maybeParseDouble(map['overflowButtonSpacing']),
overflowDirection: ThemeDecoder.decodeVerticalDirection(
map['overflowDirection'],
validate: false,
),
);
}
return result;
}