Skip to content

Most visited

Recently visited

navigation
Added in API level 1

DynamicLayout

public class DynamicLayout
extends Layout

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


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

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.

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.

Inherited methods

From class android.text.Layout
From class java.lang.Object

Public constructors

DynamicLayout

Added in API level 1
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.

Parameters
base CharSequence
paint TextPaint
width int
align Layout.Alignment
spacingmult float
spacingadd float
includepad boolean

DynamicLayout

Added in API level 1
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.

Parameters
base CharSequence
display CharSequence
paint TextPaint
width int
align Layout.Alignment
spacingmult float
spacingadd float
includepad boolean

DynamicLayout

Added in API level 1
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.

Parameters
base CharSequence
display CharSequence
paint TextPaint
width int
align Layout.Alignment
spacingmult float
spacingadd float
includepad boolean
ellipsize TextUtils.TruncateAt
ellipsizedWidth int

Public methods

getBottomPadding

Added in API level 1
int getBottomPadding ()

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

Returns
int

getEllipsisCount

Added in API level 1
int getEllipsisCount (int line)

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

Parameters
line int
Returns
int

getEllipsisStart

Added in API level 1
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().)

Parameters
line int
Returns
int

getEllipsizedWidth

Added in API level 1
int getEllipsizedWidth ()

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

Returns
int

getLineContainsTab

Added in API level 1
boolean getLineContainsTab (int line)

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

Parameters
line int
Returns
boolean

getLineCount

Added in API level 1
int getLineCount ()

Return the number of lines of text in this layout.

Returns
int

getLineDescent

Added in API level 1
int getLineDescent (int line)

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

Parameters
line int
Returns
int

getLineDirections

Added in API level 1
Layout.Directions getLineDirections (int line)

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 int
Returns
Layout.Directions

getLineStart

Added in API level 1
int getLineStart (int line)

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 int
Returns
int

getLineTop

Added in API level 1
int getLineTop (int line)

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 int
Returns
int

getParagraphDirection

Added in API level 1
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).

Parameters
line int
Returns
int

getTopPadding

Added in API level 1
int getTopPadding ()

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

Returns
int
This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.