<itemvalue="Whether this entry must be included in the tree even if there is a fully [opaque] entry above it. By default, if there is an entirely [opaque] entry over this one, then this one will not be included in the widget tree (in particular, stateful widgets within the overlay entry will not be instantiated). To ensure that your overlay entry is still built even if it is not visible, set [maintainState] to true. This is more expensive, so should be done with care. In particular, if widgets in an overlay entry with [maintainState] set to true repeatedly call [State.setState], the user's battery will be drained unnecessarily. This is used by the [Navigator] and [Route] objects to ensure that routes are kept around even when in the background, so that [Future]s promised from subsequent routes will be handled properly when they complete."/>
<itemvalue="Whether this entry occludes the entire overlay. If an entry claims to be opaque, then, for efficiency, the overlay will skip building entries below that entry unless they have [maintainState] set."/>
<itemvalue="Optional: pass in a controller you already have created. This is useful for testing, as you can pass in a mock instance. If no controller is passed in, one will be created automatically."/>
<itemvalue="extendBody locked when keyboard is open"/>
<itemvalue="The minimum insets for contents of the Scaffold to keep visible."/>
<itemvalue="The minimum viewPadding for interactive elements positioned by the Scaffold to keep within safe interactive areas."/>
<itemvalue="If true the [body] and the scaffold's floating widgets should size themselves to avoid the onscreen keyboard whose height is defined by the ambient [MediaQuery]'s [MediaQueryData.viewInsets] `bottom` property. For example, if there is an onscreen keyboard displayed above the scaffold, the body can be resized to avoid overlapping the keyboard, which prevents widgets inside the body from being obscured by the keyboard. Defaults to true."/>
<itemvalue="The number of physical pixels on each side of the display rectangle into which the view can render, but over which the operating system will likely place system UI, such as the keyboard, that fully obscures any content. When this property changes, [PlatformDispatcher.onMetricsChanged] is called. When using the Flutter framework, using [MediaQuery.of] to obtain the insets (via [MediaQueryData.viewInsets]), instead of directly obtaining the [viewInsets] from a [FlutterView], will automatically cause any widgets dependent on the insets to rebuild when they change, without having to listen to [PlatformDispatcher.onMetricsChanged]. The relationship between this [viewInsets], [viewPadding], and [padding] are described in more detail in the documentation for [FlutterView]. See also: [WidgetsBindingObserver], for a mechanism at the widgets layer to observe when this value changes. [MediaQuery.of], a simpler mechanism for the same. [Scaffold], which automatically applies the view insets in material design applications."/>
<itemvalue="The [padding] property is computed from both [viewInsets] and [viewPadding]. It will allow a view inset to consume view padding where appropriate, such as when a phone's keyboard is covering the bottom view padding and so "absorbs" it. Clients that want to position elements relative to the view padding regardless of the view insets should use the [viewPadding] property, e.g. if you wish to draw a widget at the center of the screen with respect to the iPhone "safe area" regardless of whether the keyboard is showing. [padding] is useful for clients that want to know how much padding should be accounted for without concern for the current inset(s) state, e.g. determining whether a gesture should be considered for scrolling purposes. This value varies based on the current state of the insets. For example, a visible keyboard will consume all gestures in the bottom part of the [viewPadding] anyway, so there is no need to account for that in the [padding], which is always safe to use for such calculations."/>
<itemvalue="The parts of the display that are completely obscured by system UI, typically by the device's keyboard. When a mobile device's keyboard is visible `viewInsets.bottom` corresponds to the top of the keyboard. This value is independent of the [padding] and [viewPadding]. viewPadding is measured from the edges of the [MediaQuery] widget's bounds. Padding is calculated based on the viewPadding and viewInsets. The bounds of the top level MediaQuery created by [WidgetsApp] are the same as the window (often the mobile device screen) that contains the app. {@youtube 560 315 https:www.youtube.comwatch?v=ceCo8U0XHqw} See also: [FlutterView], which provides some additional detail about this property and how it relates to [padding] and [viewPadding]."/>
<itemvalue="{@template dio.CancelToken} Controls cancellation of [Dio]'s requests. The same token can be shared between different requests. When [cancel] is invoked, requests bound to this token will be cancelled. {@endtemplate}"/>
<itemvalue="An optional maximum number of lines for the text to span, wrapping if necessary. If the text exceeds the given number of lines, it will be truncated according to [overflow]. If this is 1, text will not wrap. Otherwise, text will be wrapped at the edge of the box. If this is null, but there is an ambient [DefaultTextStyle] that specifies an explicit number for its [DefaultTextStyle.maxLines], then the [DefaultTextStyle] value will take precedence. You can use a [RichText] widget directly to entirely override the [DefaultTextStyle]."/>
<itemvalue="Whether to show or hide a child. By default, the [visible] property controls whether the [child] is included in the subtree or not; when it is not [visible], the [replacement] child (typically a zero-sized box) is included instead. A variety of flags can be used to tweak exactly how the child is hidden. (Changing the flags dynamically is discouraged, as it can cause the [child] subtree to be rebuilt, with any state in the subtree being discarded. Typically, only the [visible] flag is changed dynamically.)"/>
<itemvalue="An optional maximum number of lines for the text to span, wrapping if necessary. If the text exceeds the given number of lines, it will be truncated according to [overflow]. If this is 1, text will not wrap. Otherwise, text will be wrapped at the edge of the box. If this is non-null, it will override even explicit null values of [Text.maxLines]."/>
<itemvalue="{@template dart.ui.textHeightBehavior} Defines how to apply [TextStyle.height] over and under text. [TextHeightBehavior.applyHeightToFirstAscent] and [TextHeightBehavior.applyHeightToLastDescent] represent whether the [TextStyle.height] modifier will be applied to the corresponding metric. By default both properties are true, and [TextStyle.height] is applied as normal. When set to false, the font's default ascent will be used. [TextHeightBehavior.leadingDistribution] determines how the leading is distributed over and under text. This property applies before [TextHeightBehavior.applyHeightToFirstAscent] and [TextHeightBehavior.applyHeightToLastDescent]. {@endtemplate}"/>
<itemvalue="Spacer creates an adjustable, empty spacer that can be used to tune the spacing between widgets in a [Flex] container, like [Row] or [Column]. The [Spacer] widget will take up any available space, so setting the [Flex.mainAxisAlignment] on a flex container that contains a [Spacer] to [MainAxisAlignment.spaceAround], [MainAxisAlignment.spaceBetween], or [MainAxisAlignment.spaceEvenly] will not have any visible effect: the [Spacer] has taken up all of the additional space, therefore there is none left to redistribute."/>
<itemvalue="A widget that controls how a child of a [Row], [Column], or [Flex] flexes. Using a [Flexible] widget gives a child of a [Row], [Column], or [Flex] the flexibility to expand to fill the available space in the main axis (e.g., horizontally for a [Row] or vertically for a [Column]), but, unlike [Expanded], [Flexible] does not require the child to fill the available space. A [Flexible] widget must be a descendant of a [Row], [Column], or [Flex], and the path from the [Flexible] widget to its enclosing [Row], [Column], or [Flex] must contain only [StatelessWidget]s or [StatefulWidget]s (not other kinds of widgets, like [RenderObjectWidget]s)."/>
<itemvalue=""/>
<itemvalue="{@tool dartpad} This example shows how to use an [Expanded] widget in a [Column] so that its middle child, a [Container] here, expands to fill the space."/>
<itemvalue="An [Expanded] widget must be a descendant of a [Row], [Column], or [Flex], and the path from the [Expanded] widget to its enclosing [Row], [Column], or [Flex] must contain only [StatelessWidget]s or [StatefulWidget]s (not other kinds of widgets, like [RenderObjectWidget]s)."/>
<itemvalue="Using an [Expanded] widget makes a child of a [Row], [Column], or [Flex] expand to fill the available space along the main axis (e.g., horizontally for a [Row] or vertically for a [Column]). If multiple children are expanded, the available space is divided among them according to the [flex] factor."/>
<itemvalue="A widget that expands a child of a [Row], [Column], or [Flex] so that the child fills the available space."/>
<itemvalue="Creates a new repeating timer. The [callback] is invoked repeatedly with [duration] intervals until canceled with the [cancel] function. The exact timing depends on the underlying timer implementation. No more than `n` callbacks will be made in `duration n` time, but the time between two consecutive callbacks can be shorter and longer than `duration`. In particular, an implementation may schedule the next callback, e.g., a `duration` after either when the previous callback ended, when the previous callback started, or when the previous callback was scheduled for - even if the actual callback was delayed. [duration] must a non-negative [Duration]."/>
<itemvalue="Creates a new repeating timer. The [callback] is invoked repeatedly with [duration] intervals until canceled with the [cancel] function. The exact timing depends on the underlying timer implementation. No more than `n` callbacks will be made in `duration n` time, but the time between two consecutive callbacks can be shorter and longer than `duration`. In particular, an implementation may schedule the next callback, e.g., a `duration` after either when the previous callback ended, when the previous callback started, or when the previous callback was scheduled for - even if the actual callback was delayed."/>
<itemvalue="The [ValueListenable] whose value you depend on in order to build. This widget does not ensure that the [ValueListenable]'s value is not null, therefore your [builder] may need to handle null values."/>
<itemvalue="A [ValueWidgetBuilder] which builds a widget depending on the [valueListenable]'s value. Can incorporate a [valueListenable] value-independent widget subtree from the [child] parameter into the returned widget tree."/>
<itemvalue="A [valueListenable]-independent widget which is passed back to the [builder]. This argument is optional and can be null if the entire widget subtree the [builder] builds depends on the value of the [valueListenable]. For example, in the case where the [valueListenable] is a [String] and the [builder] returns a [Text] widget with the current [String] value, there would be no useful [child]."/>
<itemvalue="A [ChangeNotifier] that holds a single value. When [value] is replaced with something that is not equal to the old value as evaluated by the equality operator ==, this class notifies its listeners. Limitations Because this class only notifies listeners when the [value]'s _identity_ changes, listeners will not be notified when mutable state within the value itself changes. For example, a `ValueNotifier<List<int>>` will not notify its listeners when the _contents_ of the list are changed. As a result, this class is best used with only immutable data types. For mutable data types, consider extending [ChangeNotifier] directly."/>
<itemvalue="A custom path for the use-case. Folders are delimited using slashes, path segments may be made into a category by enclosing it in square brackets. For example: `[Interactions]buttons` will produce: Interactions (category) -> buttons (folder)"/>
<itemvalue="The type of the Widget shown in the UseCase. It is used to generate the WidgetbookComponent of the Widgetbook."/>
<itemvalue="The list of integrations for your [Widget] library. Primarily used to integrate with Widgetbook Cloud via [WidgetbookCloudIntegration], but can also be used to integrate with third-party packages."/>
<itemvalue="Creates a typography instance using Material Design 3 2021 defaults. If [platform] is [TargetPlatform.iOS] or [TargetPlatform.macOS], the default values for [black] and [white] are [blackCupertino] and [whiteCupertino] respectively. Otherwise they are [blackMountainView] and [whiteMountainView]. If [platform] is null then both [black] and [white] must be specified. The default values for [englishLike], [dense], and [tall] are [englishLike2021], [dense2021], and [tall2021]. See also: <https:m3.material.iostylestypography>"/>
<itemvalue="Defines text geometry for tall scripts, such as Farsi, Hindi, and Thai. This text theme is merged with either [black] or [white], depending on the overall [ThemeData.brightness], when the current locale's [MaterialLocalizations.scriptCategory] is [ScriptCategory.tall]. To look up a localized [TextTheme], use the overall [Theme], for example: `Theme.of(context).textTheme`."/>
<itemvalue="Defines text geometry for dense scripts, such as Chinese, Japanese and Korean. This text theme is merged with either [black] or [white], depending on the overall [ThemeData.brightness], when the current locale's [MaterialLocalizations.scriptCategory] is [ScriptCategory.dense]. To look up a localized [TextTheme], use the overall [Theme], for example: `Theme.of(context).textTheme`."/>
<itemvalue="english Like"/>
<itemvalue="A color that's clearly legible when drawn on [background]. To ensure that an app is accessible, a contrast ratio between [background] and [onBackground] of at least 4.5:1 is recommended. See <https:www.w3.orgTRUNDERSTANDING-WCAG20visual-audio-contrast-contrast.html>."/>
<itemvalue="Text with a color that contrasts with the card and canvas colors."/>
<itemvalue="A text theme that contrasts with the primary color."/>
<itemvalue="The color to use when painting the text. If [foreground] is specified, this value must be null. The [color] property is shorthand for `Paint()..color = color`. In [merge], [apply], and [lerp], conflicts between [color] and [foreground] specification are resolved in [foreground]'s favor - i.e. if [foreground] is specified in one place, it will dominate [color] in another."/>