RichText class
A paragraph of rich text.
The RichText widget displays text that uses multiple different styles. The text to display is described using a tree of TextSpan objects, each of which has an associated style that is used for that subtree. The text might break across multiple lines or might all be displayed on the same line depending on the layout constraints.
Text displayed in a RichText widget must be explicitly styled. When picking which style to use, consider using DefaultTextStyle.of the current BuildContext to provide defaults. For more details on how to style text in a RichText widget, see the documentation for TextStyle.
Consider using the Text widget to integrate with the DefaultTextStyle automatically. When all the text uses the same style, the default constructor is less verbose. The Text.rich constructor allows you to style multiple spans with the default text style while still allowing specified styles per span.
RichText(
text: TextSpan(
text: 'Hello ',
style: DefaultTextStyle.of(context).style,
children: <TextSpan>[
TextSpan(text: 'bold', style: TextStyle(fontWeight: FontWeight.bold)),
TextSpan(text: ' world!'),
],
),
)
See also:
- TextStyle, which discusses how to style text.
- TextSpan, which is used to describe the text in a paragraph.
- Text, which automatically applies the ambient styles described by a DefaultTextStyle to a single string.
- Text.rich, a const text widget that provides similar functionality as RichText. Text.rich will inherit TextStyle from DefaultTextStyle.
- Inheritance
Constructors
-
RichText({Key key,
@required InlineSpan text, TextAlign textAlign: TextAlign.start, TextDirection textDirection, bool softWrap: true, TextOverflow overflow: TextOverflow.clip, double textScaleFactor: 1.0, int maxLines, Locale locale, StrutStyle strutStyle, TextWidthBasis textWidthBasis: TextWidthBasis.parent, TextHeightBehavior textHeightBehavior} ) - Creates a paragraph of rich text. [...]
Properties
-
children
→ List<
Widget> -
The widgets below this widget in the tree. [...]
final, inherited
- hashCode → int
-
The hash code for this object. [...]
@nonVirtual, read-only, inherited
- key → Key
-
Controls how one widget replaces another widget in the tree. [...]
final, inherited
- locale → Locale
-
Used to select a font when the same Unicode character can
be rendered differently, depending on the locale. [...]
final
- maxLines → int
-
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. [...]
final
- overflow → TextOverflow
-
How visual overflow should be handled.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
- softWrap → bool
-
Whether the text should break at soft line breaks. [...]
final
- strutStyle → StrutStyle
-
The strut style to use. Strut style defines the strut, which sets minimum
vertical layout metrics. [...]
final
- text → InlineSpan
-
The text to display in this widget.
final
- textAlign → TextAlign
-
How the text should be aligned horizontally.
final
- textDirection → TextDirection
-
The directionality of the text. [...]
final
- textHeightBehavior → TextHeightBehavior
-
Defines how the paragraph will apply TextStyle.height to the ascent of the
first line and descent of the last line. [...]
final
- textScaleFactor → double
-
The number of font pixels for each logical pixel. [...]
final
- textWidthBasis → TextWidthBasis
-
Defines how to measure the width of the rendered text.
final
Methods
-
createElement(
) → MultiChildRenderObjectElement -
RenderObjectWidgets always inflate to a RenderObjectElement subclass.
inherited
-
createRenderObject(
BuildContext context ) → RenderParagraph -
Creates an instance of the RenderObject class that this
RenderObjectWidget represents, using the configuration described by this
RenderObjectWidget. [...]
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children. [...]
@protected, inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties ) → void -
Add additional properties associated with the node. [...]
override
-
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 DiagnosticsNode.toStringDeep. [...]
inherited
-
toString(
{DiagnosticLevel minLevel: DiagnosticLevel.info} ) → 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
-
updateRenderObject(
BuildContext context, covariant RenderParagraph 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
Operators
-
operator ==(
Object other ) → bool -
The equality operator. [...]
@nonVirtual, inherited