DynamicLayout | API reference | Android Developers
RectF
computeDrawingBoundingBox()
Get an actual bounding box that draws text content.
void
draw(Canvas c)
Draw this Layout on the specified Canvas.
void
draw(Canvas canvas, Path selectionHighlight, Paint selectionHighlightPaint, int cursorOffsetVertical)
Draw this Layout on the specified canvas, with the highlight path drawn between the background and the text.
void
draw(Canvas canvas, List<Path> highlightPaths, List<Paint> highlightPaints, Path selectionPath, Paint selectionPaint, int cursorOffsetVertical)
Draw this layout on the specified canvas.
void
drawBackground(Canvas canvas)
Draw background of this layout.
void
drawText(Canvas canvas)
Draw text part of this layout.
void
fillCharacterBounds(int start, int end, float[] bounds, int boundsStart)
Return the characters' bounds in the given range.
final
Layout.Alignment
getAlignment()
Returns the alignment used for creating this layout in pixels.
abstract
int
getBottomPadding()
Returns the number of extra pixels of descent padding in the bottom line of the Layout.
final
int
getBreakStrategy()
Return the break strategy used for creating this layout.
void
getCursorPath(int point, Path dest, CharSequence editingBuffer)
Fills in the specified Path with a representation of a cursor at the specified offset.
static
float
getDesiredWidth(CharSequence source, TextPaint paint)
Return how wide a layout must be in order to display the specified text with one line per paragraph.
static
float
getDesiredWidth(CharSequence source, int start, int end, TextPaint paint)
Return how wide a layout must be in order to display the specified text slice with one line per paragraph.
abstract
int
getEllipsisCount(int line)
Returns the number of characters to be ellipsized away, or 0 if no ellipsis is to take place.
abstract
int
getEllipsisStart(int line)
Return the offset of the first character to be ellipsized away, relative to the start of the line.
final
TextUtils.TruncateAt
getEllipsize()
Return the ellipsize option used for creating this layout.
int
getEllipsizedWidth()
Return the width to which this layout is ellipsized.
int
getHeight()
Return the total height of this layout.
final
int
getHyphenationFrequency()
Return the hyphenation frequency used for creating this layout.
final
int
getJustificationMode()
Return the justification mode used for creating this layout.
final
int[]
getLeftIndents()
Return a copy of the left indents used for this layout.
final
int
getLineAscent(int line)
Get the ascent of the text on the specified line.
final
int
getLineBaseline(int line)
Return the vertical position of the baseline of the specified line.
int
getLineBottom(int line, boolean includeLineSpacing)
Return the vertical position of the bottom of the specified line.
final
int
getLineBottom(int line)
Return the vertical position of the bottom of the specified line.
int
getLineBounds(int line, Rect bounds)
Return the baseline for the specified line (0…getLineCount() - 1) If bounds is not null, return the top, left, right, bottom extents of the specified line in it.
LineBreakConfig
getLineBreakConfig()
Gets the LineBreakConfig used for creating this layout.
abstract
boolean
getLineContainsTab(int line)
Returns whether the specified line contains one or more characters that need to be handled specially, like tabs.
abstract
int
getLineCount()
Return the number of lines of text in this layout.
abstract
int
getLineDescent(int line)
Return the descent of the specified line(0…getLineCount() - 1).
abstract
Layout.Directions
getLineDirections(int line)
Returns the directional run information for the specified line.
final
int
getLineEnd(int line)
Return the text offset after the last character on the specified line.
int
getLineForOffset(int offset)
Get the line number on which the specified text offset appears.
int
getLineForVertical(int vertical)
Get the line number corresponding to the specified vertical position.
float
getLineLeft(int line)
Get the leftmost position that should be exposed for horizontal scrolling on the specified line.
int
getLineLetterSpacingUnitCount(int line, boolean includeTrailingWhitespace)
Returns the number of letter spacing unit in the line.
float
getLineMax(int line)
Gets the unsigned horizontal extent of the specified line, including leading margin indent, but excluding trailing whitespace.
float
getLineRight(int line)
Get the rightmost position that should be exposed for horizontal scrolling on the specified line.
final
float
getLineSpacingAmount()
Returns the amount added to the line height.
final
float
getLineSpacingMultiplier()
Returns the multiplier applied to the line height.
abstract
int
getLineStart(int line)
Return the text offset of the beginning of the specified line ( 0…getLineCount()).
abstract
int
getLineTop(int line)
Return the vertical position of the top of the specified line (0…getLineCount()).
int
getLineVisibleEnd(int line)
Return the text offset after the last visible character (so whitespace is not counted) on the specified line.
float
getLineWidth(int line)
Gets the unsigned horizontal extent of the specified line, including leading margin indent and trailing whitespace.
final
int
getMaxLines()
Return the maximum lines allowed used for creating this layout.
Paint.FontMetrics
getMinimumFontMetrics()
Get the minimum font metrics used for line spacing.
int
getOffsetForHorizontal(int line, float horiz)
Get the character offset on the specified line whose position is closest to the specified horizontal position.
int
getOffsetToLeftOf(int offset)
int
getOffsetToRightOf(int offset)
final
TextPaint
getPaint()
Return the paint used for creating this layout.
final
Layout.Alignment
getParagraphAlignment(int line)
Get the alignment of the specified paragraph, taking into account markup attached to it.
abstract
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).
final
int
getParagraphLeft(int line)
Get the left edge of the specified paragraph, inset by left margins.
final
int
getParagraphRight(int line)
Get the right edge of the specified paragraph, inset by right margins.
float
getPrimaryHorizontal(int offset)
Get the primary horizontal position for the specified text offset.
int[]
getRangeForRect(RectF area, SegmentFinder segmentFinder, Layout.TextInclusionStrategy inclusionStrategy)
Finds the range of text which is inside the specified rectangle area.
final
int[]
getRightIndents()
Return a copy of the right indents used for this layout.
float
getSecondaryHorizontal(int offset)
Get the secondary horizontal position for the specified text offset.
void
getSelectionPath(int start, int end, Path dest)
Fills in the specified Path with a representation of a highlight between the specified offsets.
boolean
getShiftDrawingOffsetForStartOverhang()
Returns true if shifting drawing offset for start overhang.
final
float
getSpacingAdd()
Returns the amount added to the line height.
final
float
getSpacingMultiplier()
Returns the multiplier applied to the line height.
final
CharSequence
getText()
Return the text used for creating this layout.
final
TextDirectionHeuristic
getTextDirectionHeuristic()
Returns the text direction heuristic used for creating this layout.
abstract
int
getTopPadding()
Returns the (negative) number of extra pixels of ascent padding in the top line of the Layout.
boolean
getUseBoundsForWidth()
Returns true if using bounding box as a width, false for using advance as a width.
final
int
getWidth()
Return the width used for creating this layout in pixels.
final
void
increaseWidthTo(int wid)
Increase the width of this layout to the specified width.
boolean
isFallbackLineSpacingEnabled()
Return true if the fallback line space is enabled in this Layout.
final
boolean
isFontPaddingIncluded()
Returns true if this layout is created with increased line height.
boolean
isRtlCharAt(int offset)
Returns true if the character at offset is right to left (RTL).
final
boolean
isSpanned()