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 |
|
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 |
|
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 |
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 |
int
|
getTopPadding()
Returns the (negative) number of extra pixels of ascent padding in the top line of the Layout. |
Inherited methods | |
---|---|
Public constructors
StaticLayout
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
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
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
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
public int getBottomPadding ()
Returns the number of extra pixels of descent padding in the bottom line of the Layout.
Returns | |
---|---|
int |
getEllipsisCount
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
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
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
public int getLineCount ()
Return the number of lines of text in this layout.
Returns | |
---|---|
int |
getLineDescent
public int getLineDescent (int line)
Return the descent of the specified line(0…getLineCount() - 1).
Parameters | |
---|---|
line |
int |
Returns | |
---|---|
int |
getLineDirections
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
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
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
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
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
public int getTopPadding ()
Returns the (negative) number of extra pixels of ascent padding in the top line of the Layout.
Returns | |
---|---|
int |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-12-18 UTC.