JsonWidgetBuilder class abstract
Builder that builds dynamic widgets from JSON or other Map-like structures. Applications can register their own types and builders through the JsonWidgetRegistry.
- Implementers
- JsonAlignBuilder
- JsonAnimatedAlignBuilder
- JsonAnimatedContainerBuilder
- JsonAnimatedCrossFadeBuilder
- JsonAnimatedDefaultTextStyleBuilder
- JsonAnimatedOpacityBuilder
- JsonAnimatedPaddingBuilder
- JsonAnimatedPhysicalModelBuilder
- JsonAnimatedPositionedBuilder
- JsonAnimatedPositionedDirectionalBuilder
- JsonAnimatedSizeBuilder
- JsonAnimatedSwitcherBuilder
- JsonAnimatedThemeBuilder
- JsonAppBarBuilder
- JsonAspectRatioBuilder
- JsonAssetImageBuilder
- JsonBaselineBuilder
- JsonButtonBarBuilder
- JsonCardBuilder
- JsonCenterBuilder
- JsonCheckboxBuilder
- JsonCircularProgressIndicatorBuilder
- JsonClipOvalBuilder
- JsonClipPathBuilder
- JsonClipRectBuilder
- JsonClipRRectBuilder
- JsonColumnBuilder
- JsonCommentBuilder
- JsonConditionalBuilder
- JsonContainerBuilder
- JsonCupertinoSwitchBuilder
- JsonCustomScrollViewBuilder
- JsonDecoratedBoxBuilder
- JsonDirectionalityBuilder
- JsonDropdownButtonFormFieldBuilder
- JsonDynamicBuilder
- JsonElevatedButtonBuilder
- JsonExcludeSemanticsBuilder
- JsonExpandedBuilder
- JsonFittedBoxBuilder
- JsonFlexibleBuilder
- JsonFloatingActionButtonBuilder
- JsonFormBuilder
- JsonFractionallySizedBoxBuilder
- JsonFractionalTranslationBuilder
- JsonGestureDetectorBuilder
- JsonGridViewBuilder
- JsonHeroBuilder
- JsonIconBuilder
- JsonIconButtonBuilder
- JsonIgnorePointerBuilder
- JsonIndexedStackBuilder
- JsonInkWellBuilder
- JsonInputErrorBuilder
- JsonInteractiveViewerBuilder
- JsonIntrinsicHeightBuilder
- JsonIntrinsicWidthBuilder
- JsonLayoutBuilderBuilder
- JsonLimitedBoxBuilder
- JsonLinearProgressIndicatorBuilder
- JsonListTileBuilder
- JsonListViewBuilder
- JsonMaterialBuilder
- JsonMeasuredBuilder
- JsonMemoryImageBuilder
- JsonMergeSemanticsBuilder
- JsonNetworkImageBuilder
- JsonOffstageBuilder
- JsonOpacityBuilder
- JsonOutlinedButtonBuilder
- JsonOverflowBoxBuilder
- JsonPaddingBuilder
- JsonPlaceholderBuilder
- JsonPopupMenuButtonBuilder
- JsonPositionedBuilder
- JsonPrimaryScrollControllerBuilder
- JsonRadioBuilder
- JsonRichTextBuilder
- JsonRowBuilder
- JsonSafeAreaBuilder
- JsonSaveContextBuilder
- JsonScaffoldBuilder
- JsonScrollbarBuilder
- JsonScrollConfigurationBuilder
- JsonSemanticsBuilder
- JsonSetDefaultValueBuilder
- JsonSetScrollControllerBuilder
- JsonSetValueBuilder
- JsonSetWidgetBuilder
- JsonSingleChildScrollViewBuilder
- JsonSizedBoxBuilder
- JsonSliverGridBuilder
- JsonSliverListBuilder
- JsonSliverPaddingBuilder
- JsonSliverToBoxAdapterBuilder
- JsonStackBuilder
- JsonSwitchBuilder
- JsonTextBuilder
- JsonTextButtonBuilder
- JsonTextFormFieldBuilder
- JsonThemeBuilder
- JsonTooltipBuilder
- JsonTweenAnimationBuilder
- JsonWrapBuilder
- Annotations
Constructors
- JsonWidgetBuilder.new({bool preferredSizeWidget = false, required int numSupportedChildren})
-
Constructs the builder by stating whether the widget being built is a
PreferredSizeWidget or not.
const
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- numSupportedChildren → int
-
final
- preferredSizeWidget → bool
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
build(
{required ChildWidgetBuilder? childBuilder, required BuildContext context, required JsonWidgetData data}) → Widget -
Builds the widget. If there are dynamic keys on the
data
object, and the widget is not a PreferredSizeWidget, then the returned widget will be wrapped by a stateful widget that will rebuild if any of the dynamic args change in value. -
buildCustom(
{ChildWidgetBuilder? childBuilder, required BuildContext context, required JsonWidgetData data, Key? key}) → Widget - Custom builder that subclasses must override and implement to return the actual Widget to be placed on the tree.
-
getChild(
JsonWidgetData? data, {int index = 0}) → JsonWidgetData - Returns a non-null child for widgets that must always have child widgets. This allows the widget to be built and rendered even if the child is missing.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
remove(
JsonWidgetData data) → void - Called when a JSON widget is removed from the tree due to a conditional. Custom widgets may need to implement this to clean up values that may have been placed on the JsonWidgetRegistry by the widget.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- kDefaultChild → JsonWidgetData
-
final