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.

Parameters
base
paint
width
align
spacingmult
spacingadd
includepad

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.

Parameters
base
display
paint
width
align
spacingmult
spacingadd
includepad

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.

Parameters
base
display
paint
width
align
spacingmult
spacingadd
includepad
ellipsize
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.

Returns
int

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.

Parameters
line
Returns
int

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

Parameters
line
Returns
int

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.

Returns
int

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.

Parameters
line
Returns
boolean

public int getLineCount ()

Added in API level 1

Return the number of lines of text in this layout.

Returns
int

public int getLineDescent (int line)

Added in API level 1

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

Parameters
line
Returns
int

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.

Parameters
line
Returns
Layout.Directions

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.

Parameters
line
Returns
int

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.

Parameters
line
Returns
int

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

Parameters
line
Returns
int

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.

Returns
int