|
Build 1.0_r1(from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectandroid.text.Layout
public abstract class Layout
A base class that manages text layout in visual elements on the screen.
For text that will be edited, use a DynamicLayout,
which will be updated as the text changes.
For text that will not change, use a StaticLayout.
| Nested Class Summary | |
|---|---|
static class |
Layout.Alignment
|
static class |
Layout.Directions
Stores information about bidirectional (left-to-right or right-to-left) text within the layout of a line. |
(package private) static class |
Layout.Ellipsizer
|
(package private) static class |
Layout.SpannedEllipsizer
|
| Field Summary | |
|---|---|
static int |
DIR_LEFT_TO_RIGHT
|
static int |
DIR_RIGHT_TO_LEFT
|
(package private) static Layout.Directions |
DIRS_ALL_LEFT_TO_RIGHT
|
(package private) static Layout.Directions |
DIRS_ALL_RIGHT_TO_LEFT
|
(package private) TextPaint |
mWorkPaint
|
| Constructor Summary | |
|---|---|
protected |
Layout(CharSequence text,
TextPaint paint,
int width,
Layout.Alignment align,
float spacingmult,
float spacingadd)
Subclasses of Layout use this constructor to set the display text, width, and other standard properties. |
| Method Summary | |
|---|---|
void |
draw(Canvas c)
Draw this Layout on the specified Canvas. |
void |
draw(Canvas c,
Path highlight,
Paint highlightpaint,
int cursorOffsetVertical)
Draw the specified rectangle from this Layout on the specified Canvas, with the specified path drawn between the background and the text. |
Layout.Alignment |
getAlignment()
Return the base alignment of this layout. |
abstract int |
getBottomPadding()
Returns the number of extra pixels of descent padding in the bottom line of the 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,
int start,
int end,
TextPaint paint)
Return how wide a layout would be necessary to display the specified text slice with one line per paragraph. |
static float |
getDesiredWidth(CharSequence source,
TextPaint paint)
Return how wide a layout would be necessary to display the specified text 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. |
int |
getEllipsizedWidth()
Return the width to which this Layout is ellipsizing, or getWidth() if it is not doing anything special. |
int |
getHeight()
Return the total height of this layout. |
int |
getLineAscent(int line)
Get the ascent of the text on the specified line. |
int |
getLineBaseline(int line)
Return the vertical position of the baseline of the specified line. |
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. |
abstract boolean |
getLineContainsTab(int line)
Returns whether the specified line contains one or more 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. |
abstract Layout.Directions |
getLineDirections(int line)
Returns an array of directionalities for the specified line. |
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. |
float |
getLineMax(int line)
Gets the horizontal extent of the specified line, excluding trailing whitespace. |
float |
getLineRight(int line)
Get the rightmost position that should be exposed for horizontal scrolling on the specified line. |
abstract int |
getLineStart(int line)
Return the text offset of the beginning of the specified line. |
abstract int |
getLineTop(int line)
Return the vertical position of the top of the specified line. |
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 horizontal extent of the specified line, including trailing whitespace. |
int |
getOffsetForHorizontal(int line,
float horiz)
Get the character offset on the specfied line whose position is closest to the specified horizontal position. |
int |
getOffsetToLeftOf(int offset)
Return the text offset that would be reached by moving left (possibly onto another line) from the specified offset. |
int |
getOffsetToRightOf(int offset)
Return the text offset that would be reached by moving right (possibly onto another line) from the specified offset. |
TextPaint |
getPaint()
Return the base Paint properties for this layout. |
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. |
int |
getParagraphLeft(int line)
Get the left edge of the specified paragraph, inset by left margins. |
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. |
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. |
float |
getSpacingAdd()
Return the number of units of leading that are added to each line. |
float |
getSpacingMultiplier()
Return what the text height is multiplied by to get the line height. |
CharSequence |
getText()
Return the text that is displayed by this Layout. |
abstract int |
getTopPadding()
Returns the (negative) number of extra pixels of ascent padding in the top line of the Layout. |
int |
getWidth()
Return the width of this layout. |
void |
increaseWidthTo(int wid)
Increase the width of this layout to the specified width. |
protected boolean |
isSpanned()
|
(package private) static float |
measureText(TextPaint paint,
TextPaint workPaint,
CharSequence text,
int start,
int end,
Paint.FontMetricsInt fm,
boolean hasTabs,
Object[] tabs)
|
(package private) static float |
nextTab(CharSequence text,
int start,
int end,
float h,
Object[] tabs)
|
(package private) void |
replaceWith(CharSequence text,
TextPaint paint,
int width,
Layout.Alignment align,
float spacingmult,
float spacingadd)
Replace constructor properties of this Layout with new ones. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
TextPaint mWorkPaint
public static final int DIR_LEFT_TO_RIGHT
public static final int DIR_RIGHT_TO_LEFT
static final Layout.Directions DIRS_ALL_LEFT_TO_RIGHT
static final Layout.Directions DIRS_ALL_RIGHT_TO_LEFT
| Constructor Detail |
|---|
protected Layout(CharSequence text,
TextPaint paint,
int width,
Layout.Alignment align,
float spacingmult,
float spacingadd)
| Method Detail |
|---|
public static float getDesiredWidth(CharSequence source,
TextPaint paint)
public static float getDesiredWidth(CharSequence source,
int start,
int end,
TextPaint paint)
void replaceWith(CharSequence text,
TextPaint paint,
int width,
Layout.Alignment align,
float spacingmult,
float spacingadd)
public void draw(Canvas c)
public void draw(Canvas c,
Path highlight,
Paint highlightpaint,
int cursorOffsetVertical)
public final CharSequence getText()
public final TextPaint getPaint()
public final int getWidth()
public int getEllipsizedWidth()
getWidth() if it is not doing anything special.
public final void increaseWidthTo(int wid)
public int getHeight()
public final Layout.Alignment getAlignment()
public final float getSpacingMultiplier()
public final float getSpacingAdd()
public abstract int getLineCount()
public int getLineBounds(int line,
Rect bounds)
line - which line to examine (0..getLineCount() - 1)bounds - Optional. If not null, it returns the extent of the line
public abstract int getLineTop(int line)
public abstract int getLineDescent(int line)
public abstract int getLineStart(int line)
public abstract int getParagraphDirection(int line)
public abstract boolean getLineContainsTab(int line)
public abstract Layout.Directions getLineDirections(int line)
public abstract int getTopPadding()
public abstract int getBottomPadding()
public float getPrimaryHorizontal(int offset)
public float getSecondaryHorizontal(int offset)
public float getLineLeft(int line)
public float getLineRight(int line)
public float getLineMax(int line)
public float getLineWidth(int line)
public int getLineForVertical(int vertical)
public int getLineForOffset(int offset)
public int getOffsetForHorizontal(int line,
float horiz)
public final int getLineEnd(int line)
public int getLineVisibleEnd(int line)
public final int getLineBottom(int line)
public final int getLineBaseline(int line)
public final int getLineAscent(int line)
public int getOffsetToLeftOf(int offset)
public int getOffsetToRightOf(int offset)
public void getCursorPath(int point,
Path dest,
CharSequence editingBuffer)
public void getSelectionPath(int start,
int end,
Path dest)
public final Layout.Alignment getParagraphAlignment(int line)
public final int getParagraphLeft(int line)
public final int getParagraphRight(int line)
static float measureText(TextPaint paint,
TextPaint workPaint,
CharSequence text,
int start,
int end,
Paint.FontMetricsInt fm,
boolean hasTabs,
Object[] tabs)
static float nextTab(CharSequence text,
int start,
int end,
float h,
Object[] tabs)
protected final boolean isSpanned()
public abstract int getEllipsisStart(int line)
public abstract int getEllipsisCount(int line)
|
Build 1.0_r1(from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||