to top
Android APIs
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(0…getLineCount() - 1).
final Layout.Directions getLineDirections(int line)
Returns the directional run information for the specified line.
int getLineStart(int line)
Return the text offset of the beginning of the specified line ( 0…getLineCount()).
int getLineTop(int line)
Return the vertical position of the top of the specified line (0…getLineCount()).
int getParagraphDirection(int line)
Returns the primary directionality of the paragraph containing the specified line, either 1 for left-to-right lines, or -1 for right-to-left lines (see DIR_LEFT_TO_RIGHT, DIR_RIGHT_TO_LEFT).
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)

Added in API level 1

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)

Added in API level 1

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)

Added in API level 1

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 ()

Added in API level 1

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

public int getEllipsisCount (int line)

Added in API level 1

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

public int getEllipsisStart (int line)

Added in API level 1

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 ()

Added in API level 1

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

public boolean getLineContainsTab (int line)

Added in API level 1

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

public int getLineCount ()

Added in API level 1

Return the number of lines of text in this layout.

public int getLineDescent (int line)

Added in API level 1

Return the descent of the specified line(0…getLineCount() - 1).

public final Layout.Directions getLineDirections (int line)

Added in API level 1

Returns the directional run information for the specified line. The array alternates counts of characters in left-to-right and right-to-left segments of the line.

NOTE: this is inadequate to support bidirectional text, and will change.

public int getLineStart (int line)

Added in API level 1

Return the text offset of the beginning of the specified line ( 0…getLineCount()). If the specified line is equal to the line count, returns the length of the text.

public int getLineTop (int line)

Added in API level 1

Return the vertical position of the top of the specified line (0…getLineCount()). If the specified line is equal to the line count, returns the bottom of the last line.

public int getParagraphDirection (int line)

Added in API level 1

Returns the primary directionality of the paragraph containing the specified line, either 1 for left-to-right lines, or -1 for right-to-left lines (see DIR_LEFT_TO_RIGHT, DIR_RIGHT_TO_LEFT).

public int getTopPadding ()

Added in API level 1

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