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.parseDurationFromMillis(
map['duration'],
)!,
layoutBuilder:
map['layoutBuilder'] ?? AnimatedSwitcher.defaultLayoutBuilder,
reverseDuration: JsonClass.parseDurationFromMillis(
map['reverseDuration'],
),
switchInCurve: map['switchInCurve'] ?? Curves.linear,
switchOutCurve: map['switchOutCurve'] ?? Curves.linear,
transitionBuilder: map['transitionBuilder'] ??
AnimatedSwitcher.defaultTransitionBuilder,
);
}
return result;
}