StaticLayout


public class StaticLayout
extends Layout

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


StaticLayout is a Layout for text that will not be edited after it is laid out. Use DynamicLayout for text that may change.

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 would be tempted to call Canvas.drawText() directly.

Summary

Nested classes

class StaticLayout.Builder

Builder for static layouts. 

Inherited constants

Inherited fields

Public constructors

StaticLayout(CharSequence source, TextPaint paint, int width, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad)

This constructor is deprecated. Use Builder instead.

StaticLayout(CharSequence source, int bufstart, int bufend, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad)

This constructor is deprecated. Use Builder instead.

StaticLayout(CharSequence source, int bufstart, int bufend, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsizedWidth)

This constructor is deprecated. Use Builder instead.

Public methods

RectF computeDrawingBoundingBox()

Get an actual bounding box that draws text content.

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.

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 getLineForVertical(int vertical)

Get the line number corresponding to the specified vertical position.

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

Public constructors

StaticLayout

Added in API level 1
public StaticLayout (CharSequence source, 
                TextPaint paint, 
                int width, 
                Layout.Alignment align, 
                float spacingmult, 
                float spacingadd, 
                boolean includepad)

This constructor is deprecated.
Use Builder instead.

Parameters
source CharSequence

paint TextPaint

width int

align Layout.Alignment

spacingmult float

spacingadd float

includepad boolean

StaticLayout

Added in API level 1
public StaticLayout (CharSequence source, 
                int bufstart, 
                int bufend, 
                TextPaint paint, 
                int outerwidth, 
                Layout.Alignment align, 
                float spacingmult, 
                float spacingadd, 
                boolean includepad)

This constructor is deprecated.
Use Builder instead.

Parameters
source CharSequence

bufstart int

bufend int

paint TextPaint

outerwidth int

align Layout.Alignment

spacingmult float

spacingadd float

includepad boolean

StaticLayout

Added in API level 1
public StaticLayout (CharSequence source, 
                int bufstart, 
                int bufend, 
                TextPaint paint, 
                int outerwidth, 
                Layout.Alignment align, 
                float spacingmult, 
                float spacingadd, 
                boolean includepad, 
                TextUtils.TruncateAt ellipsize, 
                int ellipsizedWidth)

This constructor is deprecated.
Use Builder instead.

Parameters
source CharSequence

bufstart int

bufend int

paint TextPaint

outerwidth int

align Layout.Alignment

spacingmult float

spacingadd float

includepad boolean

ellipsize TextUtils.TruncateAt

ellipsizedWidth int

Public methods

computeDrawingBoundingBox

Added in API level 35
public RectF computeDrawingBoundingBox ()

Get an actual bounding box that draws text content. Note that the RectF.top and RectF.bottom may be different from the Layout.getLineTop(int) of the first line and Layout.getLineBottom(int) of the last line. The line top and line bottom are calculated based on yMin/yMax or ascent/descent value of font file. On the other hand, the drawing bounding boxes are calculated based on actual glyphs used there.

Returns
RectF This value cannot be null.

getBottomPadding

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

Parameters
line int

Returns
int

getLineContainsTab

Added in API level 1
public 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
public int getLineCount ()

Return the number of lines of text in this layout.

Returns
int

getLineDescent

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

getLineForVertical

Added in API level 1
public int getLineForVertical (int vertical)

Get the line number corresponding to the specified vertical position. If you ask for a position above 0, you get 0; if you ask for a position below the bottom of the text, you get the last line.

Parameters
vertical int

Returns
int

getLineStart

Added in API level 1
public 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
public 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
public 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
public int getTopPadding ()

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

Returns
int