<itemvalue="An AST visitor that will recursively visit all of the nodes in an AST structure. For example, using an instance of this class to visit a [Block] will also cause all of the statements in the block to be visited. Subclasses that override a visit method must either invoke the overridden visit method or must explicitly ask the visited node to visit its children. Failure to do so will cause the children of the visited node to not be visited. Clients may extend this class."/>
<itemvalue="recursive ast visitor"/>
<itemvalue="visit field formal parameter"/>
<itemvalue="map literal entry"/>
<itemvalue="If [throwIfDiagnostics] is `true` (the default), then if any diagnostics are produced because of syntactic errors in the file an `ArgumentError` will be thrown. If the parameter is `false`, then the caller can check the result to see whether there are any errors."/>
<itemvalue="Callers that don't need the feature set to be strictly correct can pass in `FeatureSet.latestLanguageVersion()` to enable the default set of features; this is much more performant than using an analysis session, because it doesn't require the analyzer to process the SDK."/>
@ -56,18 +62,12 @@
<itemvalue="Set the initial position at the position where this gesture recognizer won the arena."/>
<itemvalue="Creates a listener for an drag following a long press event over the given child widget. This is most commonly used to wrap an entire list item in a reorderable list."/>
<itemvalue="新增"/>
<itemvalue="modified"/>
<itemvalue="The `wasSynchronouslyLoaded` argument specifies whether the image was available synchronously (on the same [rendering pipeline frame](renderingRendererBindingdrawFrame.html) as the `Image` widget itself was created) and thus able to be painted immediately. If this is false, then there was one or more rendering pipeline frames where the image wasn't yet available to be painted. For multi-frame images (such as animated GIFs), the value of this argument will be the same for all image frames. In other words, if the first image frame was available immediately, then this argument will be true for all image frames."/>
<itemvalue="The `child` argument contains the default image widget and is guaranteed to be non-null. Typically, this builder will wrap the `child` widget in some way and return the wrapped widget. If this builder returns `child` directly, it will yield the same result as if [Image.frameBuilder] was null. The `frame` argument specifies the index of the current image frame being rendered. It will be null before the first image frame is ready, and zero for the first image frame. For single-frame images, it will never be greater than zero. For multi-frame images (such as animated GIFs), it will increase by one every time a new image frame is shown (including when the image animates in a loop)."/>
<itemvalue="Signature used by [Image.frameBuilder] to control the widget that will be used when an [Image] is built."/>
<itemvalue="{@tool dartpad} The following sample demonstrates how to use this builder to implement an image that fades in once it's been loaded. This sample contains a limited subset of the functionality that the [FadeInImage] widget provides out of the box. See code in examplesapilibwidgetsimageimage.frame_builder.0.dart {@end-tool}"/>
<itemvalue="If a [loadingBuilder] has _also_ been specified for an image, the two builders will be chained together: the _result_ of this builder will be passed as the `child` argument to the [loadingBuilder]. For example, consider the following builders used in conjunction:"/>