LayoutElementBuilders.Spannable


@RequiresSchemaVersion(major = 1, minor = 0)
public final class LayoutElementBuilders.Spannable implements LayoutElementBuilders.LayoutElement


A container of Span elements. Currently, this supports SpanImage and elements, where each individual Span can have different styling applied to it but the resulting text will flow naturally. This allows sections of a paragraph of text to have different styling applied to it, for example, making one or two words bold or italic.

Summary

Nested types

Builder for Spannable.

Public methods

@Nullable DimensionBuilders.SpProp

Gets the explicit height between lines of text.

@IntRange(from = "-1") int

Gets the number of times to repeat the Marquee animation.

@Nullable TypeBuilders.Int32Prop

Gets the maximum number of lines that can be represented by the Spannable element.

@Nullable ModifiersBuilders.Modifiers

Gets androidx.wear.protolayout.ModifiersBuilders.Modifiers for this element.

@Nullable LayoutElementBuilders.HorizontalAlignmentProp

Gets alignment of the Spannable content within its bounds.

@Nullable LayoutElementBuilders.TextOverflowProp

Gets how to handle content which overflows the bound of the Spannable element.

@NonNull List<LayoutElementBuilders.Span>

Gets the Span elements that form this Spannable.

@NonNull String

Public methods

getLineHeight

Added in 1.0.0
public @Nullable DimensionBuilders.SpProp getLineHeight()

Gets the explicit height between lines of text. This is equivalent to the vertical distance between subsequent baselines. If not specified, defaults the font's recommended interline spacing.

getMarqueeIterations

Added in 1.0.0
@ProtoLayoutExperimental
public @IntRange(from = "-1") int getMarqueeIterations()

Gets the number of times to repeat the Marquee animation. Only applies when overflow is TEXT_OVERFLOW_MARQUEE. Set to -1 to repeat indefinitely. Defaults to repeat indefinitely.

getMaxLines

Added in 1.0.0
public @Nullable TypeBuilders.Int32Prop getMaxLines()

Gets the maximum number of lines that can be represented by the Spannable element. If not defined, the Spannable element will be treated as a single-line element.

getMultilineAlignment

Added in 1.0.0
public @Nullable LayoutElementBuilders.HorizontalAlignmentProp getMultilineAlignment()

Gets alignment of the Spannable content within its bounds. Note that a element will size itself to wrap its contents, so this option is meaningless for single-line content (for that, use alignment of the outer container). For multi-line content, however, this will set the alignment of lines relative to the Spannable element bounds. If not defined, defaults to TEXT_ALIGN_CENTER.

getOverflow

Added in 1.0.0
public @Nullable LayoutElementBuilders.TextOverflowProp getOverflow()

Gets how to handle content which overflows the bound of the Spannable element. A Spannable element will grow as large as possible inside its parent container (while still respecting max_lines); if it cannot grow large enough to render all of its content, the content which cannot fit inside its container will be truncated. If not defined, defaults to TEXT_OVERFLOW_TRUNCATE.

getSpans

Added in 1.0.0
public @NonNull List<LayoutElementBuilders.SpangetSpans()

Gets the Span elements that form this Spannable.

toString

public @NonNull String toString()