fromDynamic static method
Builds the builder from a Map-like dynamic structure. This expects the JSON format to be of the following structure:
{
"child": "<JsonWidgetData>",
"duration": "<int; millis>",
"layoutBuilder": "<AnimatedCrossFadeBuilder>",
"reverseDuration": "<int; millis>",
"switchInCurve": "<Curve>",
"switchOutCurve": "<Curve>",
"transitionBuilder": "<AnimatedSwitcherTransitionBuilder>"
}
As a note, the JsonWidgetData, Curve, AnimatedCrossFadeBuilder and AnimatedSwitcherTransitionBuilder cannot be decoded via JSON. Instead, the only way to bind those values to the builder is to use a function or a variable reference via the JsonWidgetRegistry. Also the child property should be passed as arg, not as a child.
Implementation
static JsonAnimatedSwitcherBuilder? fromDynamic(
dynamic map, {
JsonWidgetRegistry? registry,
}) {
JsonAnimatedSwitcherBuilder? result;
if (map != null) {
result = JsonAnimatedSwitcherBuilder(
child: map['child'],
duration: JsonClass.maybeParseDurationFromMillis(
map['duration'],
)!,
layoutBuilder:
map['layoutBuilder'] ?? AnimatedSwitcher.defaultLayoutBuilder,
reverseDuration: JsonClass.maybeParseDurationFromMillis(
map['reverseDuration'],
),
switchInCurve: map['switchInCurve'] ?? Curves.linear,
switchOutCurve: map['switchOutCurve'] ?? Curves.linear,
transitionBuilder: map['transitionBuilder'] ??
AnimatedSwitcher.defaultTransitionBuilder,
);
}
return result;
}