public class DynamicLayout extends Layout
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.
Layout.Alignment, Layout.Directions
Modifier and Type | Field and Description |
---|---|
static int |
INVALID_BLOCK_INDEX
Value used in mBlockIndices when a block has been created or recycled and indicating that its
display list needs to be re-created.
|
DIR_LEFT_TO_RIGHT, DIR_RIGHT_TO_LEFT
Constructor and Description |
---|
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.
|
DynamicLayout(CharSequence base,
CharSequence display,
TextPaint paint,
int width,
Layout.Alignment align,
TextDirectionHeuristic textDir,
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.
|
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.
|
Modifier and Type | Method and Description |
---|---|
int[] |
getBlockEndLines() |
int[] |
getBlockIndices() |
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 |
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 |
getNumberOfBlocks() |
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, getLineForVertical, 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 static final int INVALID_BLOCK_INDEX
public DynamicLayout(CharSequence base, TextPaint paint, int width, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad)
public DynamicLayout(CharSequence base, CharSequence display, TextPaint paint, int width, Layout.Alignment align, float spacingmult, float spacingadd, boolean 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)
public DynamicLayout(CharSequence base, CharSequence display, TextPaint paint, int width, Layout.Alignment align, TextDirectionHeuristic textDir, float spacingmult, float spacingadd, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsizedWidth)
public int[] getBlockEndLines()
public int[] getBlockIndices()
public int getNumberOfBlocks()
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 boolean getLineContainsTab(int line)
Layout
getLineContainsTab
in class Layout
public int getParagraphDirection(int line)
Layout
Layout.DIR_LEFT_TO_RIGHT
, Layout.DIR_RIGHT_TO_LEFT
).getParagraphDirection
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 getEllipsizedWidth()
Layout
Layout.getWidth()
if it is not doing anything special.getEllipsizedWidth
in class Layout
public int getEllipsisStart(int line)
Layout
getEllipsisStart
in class Layout
public int getEllipsisCount(int line)
Layout
getEllipsisCount
in class Layout