public class

DynamicLayout

extends Layout
java.lang.Object
   ↳ android.text.Layout
     ↳ android.text.DynamicLayout

Class Overview

DynamicLayout is a text layout that updates itself as the text is edited.

This is used by widgets to control text layout. You should not need to use this class directly unless you are implementing your own widget or custom display object, or need to call Canvas.drawText() directly.

Summary

[Expand]
Inherited Constants
From class android.text.Layout
Public Constructors
DynamicLayout(CharSequence base, TextPaint paint, int width, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad)
Make a layout for the specified text that will be updated as the text is changed.
DynamicLayout(CharSequence base, CharSequence display, TextPaint paint, int width, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad)
Make a layout for the transformed text (password transformation being the primary example of a transformation) that will be updated as the base text is changed.
DynamicLayout(CharSequence base, CharSequence display, TextPaint paint, int width, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsizedWidth)
Make a layout for the transformed text (password transformation being the primary example of a transformation) that will be updated as the base text is changed.
Public Methods
int getBottomPadding()
Returns the number of extra pixels of descent padding in the bottom line of the Layout.
int getEllipsisCount(int line)
Returns the number of characters to be ellipsized away, or 0 if no ellipsis is to take place.
int getEllipsisStart(int line)
Return the offset of the first character to be ellipsized away, relative to the start of the line.
int getEllipsizedWidth()
Return the width to which this Layout is ellipsizing, or getWidth() if it is not doing anything special.
boolean getLineContainsTab(int line)
Returns whether the specified line contains one or more characters that need to be handled specially, like tabs or emoji.
int getLineCount()
Return the number of lines of text in this layout.
int getLineDescent(int line)
Return the descent of the specified line.
final Layout.Directions getLineDirections(int line)
Returns an array of directionalities for the specified line.
int getLineStart(int line)
Return the text offset of the beginning of the specified line.
int getLineTop(int line)
Return the vertical position of the top of the specified line.
int getParagraphDirection(int line)
Returns the primary directionality of the paragraph containing the specified line.
int getTopPadding()
Returns the (negative) number of extra pixels of ascent padding in the top line of the Layout.
[Expand]
Inherited Methods
From class android.text.Layout
From class java.lang.Object

Public Constructors

public DynamicLayout (CharSequence base, TextPaint paint, int width, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad)

Make a layout for the specified text that will be updated as the text is changed.

public DynamicLayout (CharSequence base, CharSequence display, TextPaint paint, int width, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad)

Make a layout for the transformed text (password transformation being the primary example of a transformation) that will be updated as the base text is changed.

public DynamicLayout (CharSequence base, CharSequence display, TextPaint paint, int width, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsizedWidth)

Make a layout for the transformed text (password transformation being the primary example of a transformation) that will be updated as the base text is changed. If ellipsize is non-null, the Layout will ellipsize the text down to ellipsizedWidth.

Public Methods

public int getBottomPadding ()

Returns the number of extra pixels of descent padding in the bottom line of the Layout.

public int getEllipsisCount (int line)

Returns the number of characters to be ellipsized away, or 0 if no ellipsis is to take place.

public int getEllipsisStart (int line)

Return the offset of the first character to be ellipsized away, relative to the start of the line. (So 0 if the beginning of the line is ellipsized, not getLineStart().)

public int getEllipsizedWidth ()

Return the width to which this Layout is ellipsizing, or getWidth() if it is not doing anything special.

public boolean getLineContainsTab (int line)

Returns whether the specified line contains one or more characters that need to be handled specially, like tabs or emoji.

public int getLineCount ()

Return the number of lines of text in this layout.

public int getLineDescent (int line)

Return the descent of the specified line.

public final Layout.Directions getLineDirections (int line)

Returns an array of directionalities for the specified line. The array alternates counts of characters in left-to-right and right-to-left segments of the line.

public int getLineStart (int line)

Return the text offset of the beginning of the specified line. If the specified line is one beyond the last line, returns the end of the last line.

public int getLineTop (int line)

Return the vertical position of the top of the specified line. If the specified line is one beyond the last line, returns the bottom of the last line.

public int getParagraphDirection (int line)

Returns the primary directionality of the paragraph containing the specified line.

public int getTopPadding ()

Returns the (negative) number of extra pixels of ascent padding in the top line of the Layout.