public class StaticLayout extends Layout
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.
Layout.Alignment, Layout.Directions
DIR_LEFT_TO_RIGHT, DIR_RIGHT_TO_LEFT
Constructor and Description |
---|
StaticLayout(CharSequence source,
int bufstart,
int bufend,
TextPaint paint,
int outerwidth,
Layout.Alignment align,
float spacingmult,
float spacingadd,
boolean includepad) |
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) |
StaticLayout(CharSequence source,
int bufstart,
int bufend,
TextPaint paint,
int outerwidth,
Layout.Alignment align,
TextDirectionHeuristic textDir,
float spacingmult,
float spacingadd,
boolean includepad) |
StaticLayout(CharSequence source,
int bufstart,
int bufend,
TextPaint paint,
int outerwidth,
Layout.Alignment align,
TextDirectionHeuristic textDir,
float spacingmult,
float spacingadd,
boolean includepad,
TextUtils.TruncateAt ellipsize,
int ellipsizedWidth,
int maxLines) |
StaticLayout(CharSequence source,
TextPaint paint,
int width,
Layout.Alignment align,
float spacingmult,
float spacingadd,
boolean includepad) |
StaticLayout(CharSequence source,
TextPaint paint,
int width,
Layout.Alignment align,
TextDirectionHeuristic textDir,
float spacingmult,
float spacingadd,
boolean includepad) |
Modifier and Type | Method and Description |
---|---|
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
Layout.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).
|
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
Layout.DIR_LEFT_TO_RIGHT , Layout.DIR_RIGHT_TO_LEFT ). |
int |
getTopPadding()
Returns the (negative) number of extra pixels of ascent padding in the
top line of the Layout.
|
draw, draw, drawBackground, drawText, getAlignment, getCursorPath, getDesiredWidth, getDesiredWidth, getHeight, getLineAscent, getLineBaseline, getLineBottom, getLineBounds, getLineEnd, getLineForOffset, getLineLeft, getLineMax, getLineRangeForDraw, getLineRight, getLineVisibleEnd, getLineWidth, getOffsetForHorizontal, getOffsetToLeftOf, getOffsetToRightOf, getPaint, getParagraphAlignment, getParagraphLeft, getParagraphRight, getPrimaryHorizontal, getSecondaryHorizontal, getSelectionPath, getSpacingAdd, getSpacingMultiplier, getText, getTextDirectionHeuristic, getWidth, increaseWidthTo, isLevelBoundary, isRtlCharAt, isSpanned
public StaticLayout(CharSequence source, TextPaint paint, int width, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad)
public StaticLayout(CharSequence source, TextPaint paint, int width, Layout.Alignment align, TextDirectionHeuristic textDir, float spacingmult, float spacingadd, boolean includepad)
public StaticLayout(CharSequence source, int bufstart, int bufend, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad)
public StaticLayout(CharSequence source, int bufstart, int bufend, TextPaint paint, int outerwidth, Layout.Alignment align, TextDirectionHeuristic textDir, float spacingmult, float spacingadd, boolean includepad)
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)
public StaticLayout(CharSequence source, int bufstart, int bufend, TextPaint paint, int outerwidth, Layout.Alignment align, TextDirectionHeuristic textDir, float spacingmult, float spacingadd, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsizedWidth, int maxLines)
public int getLineForVertical(int vertical)
Layout
getLineForVertical
in class Layout
public int getLineCount()
Layout
getLineCount
in class Layout
public int getLineTop(int line)
Layout
getLineTop
in class Layout
public int getLineDescent(int line)
Layout
getLineDescent
in class Layout
public int getLineStart(int line)
Layout
getLineStart
in class Layout
public int getParagraphDirection(int line)
Layout
Layout.DIR_LEFT_TO_RIGHT
, Layout.DIR_RIGHT_TO_LEFT
).getParagraphDirection
in class Layout
public boolean getLineContainsTab(int line)
Layout
getLineContainsTab
in class Layout
public final Layout.Directions getLineDirections(int line)
Layout
NOTE: this is inadequate to support bidirectional text, and will change.
getLineDirections
in class Layout
public int getTopPadding()
Layout
getTopPadding
in class Layout
public int getBottomPadding()
Layout
getBottomPadding
in class Layout
public int getEllipsisCount(int line)
Layout
getEllipsisCount
in class Layout
public int getEllipsisStart(int line)
Layout
getEllipsisStart
in class Layout
public int getEllipsizedWidth()
Layout
Layout.getWidth()
if it is not doing anything special.getEllipsizedWidth
in class Layout