<itemvalue="Specifies the [SystemUiMode] to have visible when the application is running. The `overlays` argument is a list of [SystemUiOverlay] enum values denoting the overlays to show when configured with [SystemUiMode.manual]. If a particular mode is unsupported on the platform, enabling or disabling that mode will be ignored. The settings here can be overridden by the platform when System UI becomes necessary for functionality. For example, on Android, when the keyboard becomes visible, it will enable the navigation bar and status bar system UI overlays. When the keyboard is closed, Android will not restore the previous UI visibility settings, and the UI visibility cannot be changed until 1 second after the keyboard is closed to prevent malware locking users from navigation buttons. To regain "fullscreen" after text entry, the UI overlays can be set again after a delay of at least 1 second through [restoreSystemUIOverlays] or calling this again. Otherwise, the original UI overlay settings will be automatically restored only when the application loses and regains focus. Alternatively, a [SystemUiChangeCallback] can be provided to respond to changes in the System UI. This will be called, for example, when in [SystemUiMode.leanBack] and the user taps the screen to bring up the system overlays. The callback provides a boolean to represent if the application is currently in a fullscreen mode or not, so that the application can respond to these changes. When `systemOverlaysAreVisible` is true, the application is not fullscreen. See [SystemChrome.setSystemUIChangeCallback] to respond to these changes in a fullscreen application."/>
<itemvalue="Fullscreen display with status and navigation elements rendered over the application. Available starting at SDK 29 or Android 10. Earlier versions of Android will not be affected by this setting. For applications running on iOS, the status bar and home indicator will be visible. The system overlays will not disappear or reappear in this mode as they are permanently displayed on top of the application. See also: [SystemUiOverlayStyle], can be used to configure transparent status and navigation bars with or without a contrast scrim."/>
<itemvalue="Declares manually configured [SystemUiOverlay]s. When using this mode with [SystemChrome.setEnabledSystemUIMode], the preferred overlays must be set by the developer. When [SystemUiOverlay.top] is enabled, the status bar will remain visible on all platforms. Omitting this overlay will hide the status bar on iOS & Android. When [SystemUiOverlay.bottom] is enabled, the navigation bar and home indicator of Android and iOS applications will remain visible. Omitting this overlay will hide them. Omitting both overlays will result in the same configuration as [SystemUiMode.leanBack]."/>
<itemvalue="Fullscreen display with status and navigation bars presentable through a swipe gesture at the edges of the display. Available starting at SDK 19 or Android K. Earlier versions of Android will not be affected by this setting. For applications running on iOS, the status bar and home indicator will be hidden for a similar fullscreen experience. A swipe gesture from the edge of the screen displays overlays. In contrast to [SystemUiMode.immersiveSticky], this gesture is not received by the application. See also: [SystemUiChangeCallback], used to listen and respond to the change in system overlays."/>
<itemvalue="Fullscreen display with status and navigation bars presentable by tapping anywhere on the display. Available starting at SDK 16 or Android J. Earlier versions of Android will not be affected by this setting. For applications running on iOS, the status bar and home indicator will be hidden for a similar fullscreen experience. Tapping on the screen displays overlays, this gesture is not received by the application. See also: [SystemUiChangeCallback], used to listen and respond to the change in system overlays."/>
<itemvalue="lean Back"/>
<itemvalue="Prefetches an image into the image cache. Returns a [Future] that will complete when the first image yielded by the [ImageProvider] is available or failed to load. If the image is later used by an [Image] or [BoxDecoration] or [FadeInImage], it will probably be loaded faster. The consumer of the image does not need to use the same [ImageProvider] instance. The [ImageCache] will find the image as long as both images share the same key, and the image is held by the cache. The cache may refuse to hold the image if it is disabled, the image is too large, or some other criteria implemented by a custom [ImageCache] implementation. The [ImageCache] holds a reference to all images passed to [ImageCache.putIfAbsent] as long as their [ImageStreamCompleter] has at least one listener. This method will wait until the end of the frame after its future completes before releasing its own listener. This gives callers a chance to listen to the stream if necessary. A caller can determine if the image ended up in the cache by calling [ImageProvider.obtainCacheStatus]. If it is only held as [ImageCacheStatus.live], and the caller wishes to keep the resolved image in memory, the caller should immediately call `provider.resolve` and add a listener to the returned [ImageStream]. The image will remain pinned in memory at least until the caller removes its listener from the stream, even if it would not otherwise fit into the cache. Callers should be cautious about pinning large images or a large number of images in memory, as this can result in running out of memory and being killed by the operating system. The lower the available physical memory, the more susceptible callers will be to running into OOM issues. These issues manifest as immediate process death, sometimes with no other error messages. The [BuildContext] and [Size] are used to select an image configuration (see [createLocalImageConfiguration]). The returned future will not complete with error, even if precaching failed. The `onError` argument can be used to manually handle errors while pre-caching. See also: [ImageCache], which holds images that may be reused."/>
<itemvalue="Prefetches an image into the image cache. Returns a [Future] that will complete when the first image yielded by the [ImageProvider] is available or failed to load. If the image is later used by an [Image] or [BoxDecoration] or [FadeInImage], it will probably be loaded faster. The consumer of the image does not need to use the same [ImageProvider] instance. The [ImageCache] will find the image as long as both images share the same key, and the image is held by the cache. The cache may refuse to hold the image if it is disabled, the image is too large, or some other criteria implemented by a custom [ImageCache] implementation. The [ImageCache] holds a reference to all images passed to [ImageCache.putIfAbsent] as long as their [ImageStreamCompleter] has at least one listener. This method will wait until the end of the frame after its future completes before releasing its own listener. This gives callers a chance to listen to the stream if necessary. A caller can determine if the image ended up in the cache by calling [ImageProvider.obtainCacheStatus]. If it is only held as [ImageCacheStatus.live], and the caller wishes to keep the resolved image in memory, the caller should immediately call `provider.resolve` and add a listener to the returned [ImageStream]. The image will remain pinned in memory at least until the caller removes its listener from the stream, even if it would not otherwise fit into the cache. Callers should be cautious about pinning large images or a large number of images in memory, as this can result in running out of memory and being killed by the operating system. The lower the available physical memory, the more susceptible callers will be to running into OOM issues. These issues manifest as immediate process death, sometimes with no other error messages. The [BuildContext] and [Size] are used to select an image configuration (see [createLocalImageConfiguration]). The returned future will not complete with error, even if precaching failed. The `onError` argument can be used to manually handle errors while pre-caching. See also: [ImageCache], which holds images that may be reused."/>
<itemvalue="Creates a random number generator. The optional parameter [seed] is used to initialize the internal state of the generator. The implementation of the random stream can change between releases of the library."/>
<itemvalue="Creates a random number generator. The optional parameter [seed] is used to initialize the internal state of the generator. The implementation of the random stream can change between releases of the library."/>
<itemvalue="Creates a cryptographically secure random number generator. If the program cannot provide a cryptographically secure source of random numbers, it throws an [UnsupportedError]."/>
<itemvalue="Creates a cryptographically secure random number generator. If the program cannot provide a cryptographically secure source of random numbers, it throws an [UnsupportedError]."/>
@ -50,17 +56,11 @@
<itemvalue="A [ScrollView] that creates custom scroll effects using slivers. A [CustomScrollView] lets you supply [slivers] directly to create various scrolling effects, such as lists, grids, and expanding headers. For example, to create a scroll view that contains an expanding app bar followed by a list and a grid, use a list of three slivers: [SliverAppBar], [SliverList], and [SliverGrid]. [Widget]s in these [slivers] must produce [RenderSliver] objects. To control the initial scroll offset of the scroll view, provide a [controller] with its [ScrollController.initialScrollOffset] property set. {@animation 400 376 https:flutter.github.ioassets-for-api-docsassetswidgetscustom_scroll_view.mp4} {@tool snippet} This sample code shows a scroll view that contains a flexible pinned app bar, a grid, and an infinite list."/>
<itemvalue="A [ScrollView] that creates custom scroll effects using slivers. A [CustomScrollView] lets you supply [slivers] directly to create various scrolling effects, such as lists, grids, and expanding headers. For example, to create a scroll view that contains an expanding app bar followed by a list and a grid, use a list of three slivers: [SliverAppBar], [SliverList], and [SliverGrid]. [Widget]s in these [slivers] must produce [RenderSliver] objects. To control the initial scroll offset of the scroll view, provide a [controller] with its [ScrollController.initialScrollOffset] property set. {@animation 400 376 https:flutter.github.ioassets-for-api-docsassetswidgetscustom_scroll_view.mp4} {@tool snippet} This sample code shows a scroll view that contains a flexible pinned app bar, a grid, and an infinite list."/>
<itemvalue="A base class for the `State` of widgets with implicit animations. [ImplicitlyAnimatedWidgetState] requires that subclasses respond to the animation themselves. If you would like `setState()` to be called automatically as the animation changes, use [AnimatedWidgetBaseState]. Properties that subclasses choose to animate are represented by [Tween] instances. Subclasses must implement the [forEachTween] method to allow [ImplicitlyAnimatedWidgetState] to iterate through the widget's fields and animate them."/>
<itemvalue="A base class for the `State` of widgets with implicit animations. [ImplicitlyAnimatedWidgetState] requires that subclasses respond to the animation themselves. If you would like `setState()` to be called automatically as the animation changes, use [AnimatedWidgetBaseState]. Properties that subclasses choose to animate are represented by [Tween] instances. Subclasses must implement the [forEachTween] method to allow [ImplicitlyAnimatedWidgetState] to iterate through the widget's fields and animate them."/>
<itemvalue="Animated version of [Align] which automatically transitions the child's position over a given duration whenever the given [alignment] changes. Here's an illustration of what this can look like, using a [curve] of [Curves.fastOutSlowIn]. {@animation 250 266 https:flutter.github.ioassets-for-api-docsassetswidgetsanimated_align.mp4} For the animation, you can choose a [curve] as well as a [duration] and the widget will automatically animate to the new target [alignment]. If you require more control over the animation (e.g. if you want to stop it mid-animation), consider using an [AlignTransition] instead, which takes a provided [Animation] as argument. While that allows you to fine-tune the animation, it also requires more development overhead as you have to manually manage the lifecycle of the underlying [AnimationController]. {@tool dartpad} The following code implements the [AnimatedAlign] widget, using a [curve] of [Curves.fastOutSlowIn]. See code in examplesapilibwidgetsimplicit_animationsanimated_align.0.dart {@end-tool} See also: [AnimatedContainer], which can transition more values at once. [AnimatedPadding], which can animate the padding instead of the alignment. [AnimatedSlide], which can animate the translation of child by a given offset relative to its size. [AnimatedPositioned], which, as a child of a [Stack], automatically transitions its child's position over a given duration whenever the given position changes."/>
<itemvalue="Animated version of [Align] which automatically transitions the child's position over a given duration whenever the given [alignment] changes. Here's an illustration of what this can look like, using a [curve] of [Curves.fastOutSlowIn]. {@animation 250 266 https:flutter.github.ioassets-for-api-docsassetswidgetsanimated_align.mp4} For the animation, you can choose a [curve] as well as a [duration] and the widget will automatically animate to the new target [alignment]. If you require more control over the animation (e.g. if you want to stop it mid-animation), consider using an [AlignTransition] instead, which takes a provided [Animation] as argument. While that allows you to fine-tune the animation, it also requires more development overhead as you have to manually manage the lifecycle of the underlying [AnimationController]. {@tool dartpad} The following code implements the [AnimatedAlign] widget, using a [curve] of [Curves.fastOutSlowIn]. See code in examplesapilibwidgetsimplicit_animationsanimated_align.0.dart {@end-tool} See also: [AnimatedContainer], which can transition more values at once. [AnimatedPadding], which can animate the padding instead of the alignment. [AnimatedSlide], which can animate the translation of child by a given offset relative to its size. [AnimatedPositioned], which, as a child of a [Stack], automatically transitions its child's position over a given duration whenever the given position changes."/>
<itemvalue="stage 2 and 3 done."/>
<itemvalue="Optional widget to place on the line after the input. This can be used, for example, to add some padding to the text that would otherwise be specified using [suffixText], or to add a custom widget after the input. The widget's baseline is lined up with the input baseline. Only one of [suffix] and [suffixText] can be specified. The [suffix] appears before the [suffixIcon], if both are specified. See also: [prefix], the equivalent but on the leading edge."/>
<itemvalue="smart Dashes Type"/>
<itemvalue="smart Quotes Type"/>
<itemvalue="decimal"/>
<itemvalue="The number is decimal, allowing a decimal point to provide fractional. This flag is only used for the [number] input type, otherwise `null`. Use `const TextInputType.numberWithOptions(decimal: true)` to set this."/>