IndexedSemantics class
A widget that annotates the child semantics with an index.
Semantic indexes are used by TalkBack/Voiceover to make announcements about the current scroll state. Certain widgets like the ListView will automatically provide a child index for building semantics. A user may wish to manually provide semanitc indexes if not all child of the scrollable contribute semantics.
The example below handles spacers in a scrollable that don't contribute
semantics. The automatic indexes would give the spaces a semantic index,
causing scroll announcements to erroneously state that there are four items
visible.
ListView(
addSemanticIndexes: false,
semanticChildCount: 2,
children: const <Widget>[
IndexedSemantics(index: 0, child: Text('First')),
Spacer(),
IndexedSemantics(index: 1, child: Text('Second')),
Spacer(),
],
)
See also:
- CustomScrollView, for an explaination of index semantics.
- Inheritance
Constructors
- IndexedSemantics({Key key, @required int index, Widget child })
-
Creates a widget that annotated the first child semantics node with an index. [...]
const
Properties
- index → int
-
The index used to annotate the first child semantics node.
final
- child → Widget
-
The widget below this widget in the tree. [...]
final, inherited
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- key → Key
-
Controls how one widget replaces another widget in the tree. [...]
final, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Methods
-
createRenderObject(
BuildContext context) → RenderIndexedSemantics -
Creates an instance of the RenderObject class that this
RenderObjectWidget represents, using the configuration described by this
RenderObjectWidget. [...]
override
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node. [...]
override
-
updateRenderObject(
BuildContext context, covariant RenderIndexedSemantics renderObject) → void -
Copies the configuration described by this RenderObjectWidget to the
given RenderObject, which will be of the same type as returned by this
object's createRenderObject. [...]
override
-
createElement(
) → SingleChildRenderObjectElement -
RenderObjectWidgets always inflate to a RenderObjectElement subclass.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children. [...]
@protected, inherited
-
didUnmountRenderObject(
covariant RenderObject renderObject) → void -
A render object previously associated with this widget has been removed
from the tree. The given RenderObject will be of the same type as
returned by this object's createRenderObject.
@protected, inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
-
toDiagnosticsNode(
{String name, DiagnosticsTreeStyle style }) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by toStringDeep. [...]
inherited
-
toString(
{DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String -
Returns a string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne: '', String prefixOtherLines, DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String -
Returns a string representation of this node and its descendants. [...]
inherited
-
toStringShallow(
{String joiner: ', ', DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String -
Returns a one-line detailed description of the object. [...]
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
dynamic other) → bool -
The equality operator. [...]
inherited