public
class
BoringLayout
extends Layout
implements
TextUtils.EllipsizeCallback
java.lang.Object | ||
↳ | android.text.Layout | |
↳ | android.text.BoringLayout |
A BoringLayout is a very simple Layout implementation for text that
fits on a single line and is all left-to-right characters.
You will probably never want to make one of these yourself;
if you do, be sure to call isBoring(CharSequence, TextPaint)
first to make sure
the text meets the criteria.
This class 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, in which case
you are encouraged to use a Layout instead of calling
Canvas.drawText()
directly.
Nested classes | |
---|---|
class |
BoringLayout.Metrics
|
Inherited constants |
---|
From
class
android.text.Layout
|
Public constructors | |
---|---|
BoringLayout(CharSequence source, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, BoringLayout.Metrics metrics, boolean includepad)
|
|
BoringLayout(CharSequence source, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, BoringLayout.Metrics metrics, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsizedWidth)
|
Public methods | |
---|---|
void
|
draw(Canvas c, Path highlight, Paint highlightpaint, int cursorOffset)
Draw this Layout on the specified canvas, with the highlight path drawn between the background and the text. |
void
|
ellipsized(int start, int end)
Callback for the ellipsizer to report what region it ellipsized. |
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
|
int
|
getHeight()
Return the total height of this layout. |
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. |
float
|
getLineMax(int line)
Gets the unsigned horizontal extent of the specified line, including leading margin indent, but excluding trailing whitespace. |
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()). |
float
|
getLineWidth(int line)
Gets the unsigned horizontal extent of the specified line, including leading margin indent and trailing whitespace. |
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. |
static
BoringLayout.Metrics
|
isBoring(CharSequence text, TextPaint paint)
Returns null if not boring; the width, ascent, and descent if boring. |
static
BoringLayout.Metrics
|
isBoring(CharSequence text, TextPaint paint, BoringLayout.Metrics metrics)
Returns null if not boring; the width, ascent, and descent in the provided Metrics object (or a new one if the provided one was null) if boring. |
static
BoringLayout
|
make(CharSequence source, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, BoringLayout.Metrics metrics, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsizedWidth)
|
static
BoringLayout
|
make(CharSequence source, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, BoringLayout.Metrics metrics, boolean includepad)
|
BoringLayout
|
replaceOrMake(CharSequence source, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, BoringLayout.Metrics metrics, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsizedWidth)
Returns a BoringLayout for the specified text, potentially reusing this one if it is already suitable. |
BoringLayout
|
replaceOrMake(CharSequence source, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, BoringLayout.Metrics metrics, boolean includepad)
Returns a BoringLayout for the specified text, potentially reusing this one if it is already suitable. |
Inherited methods | |
---|---|
From
class
android.text.Layout
| |
From
class
java.lang.Object
| |
From
interface
android.text.TextUtils.EllipsizeCallback
|
BoringLayout (CharSequence source, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, BoringLayout.Metrics metrics, boolean includepad)
Parameters | |
---|---|
source |
CharSequence
|
paint |
TextPaint
|
outerwidth |
int
|
align |
Layout.Alignment
|
spacingmult |
float
|
spacingadd |
float
|
metrics |
BoringLayout.Metrics
|
includepad |
boolean
|
BoringLayout (CharSequence source, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, BoringLayout.Metrics metrics, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsizedWidth)
Parameters | |
---|---|
source |
CharSequence
|
paint |
TextPaint
|
outerwidth |
int
|
align |
Layout.Alignment
|
spacingmult |
float
|
spacingadd |
float
|
metrics |
BoringLayout.Metrics
|
includepad |
boolean
|
ellipsize |
TextUtils.TruncateAt
|
ellipsizedWidth |
int
|
void draw (Canvas c, Path highlight, Paint highlightpaint, int cursorOffset)
Draw this Layout on the specified canvas, with the highlight path drawn between the background and the text.
Parameters | |
---|---|
c |
Canvas :
the canvas |
highlight |
Path :
the path of the highlight or cursor; can be null |
highlightpaint |
Paint :
the paint for the highlight |
cursorOffset |
int :
the amount to temporarily translate the
canvas while rendering the highlight
|
void ellipsized (int start, int end)
Callback for the ellipsizer to report what region it ellipsized.
Parameters | |
---|---|
start |
int
|
end |
int
|
int getBottomPadding ()
Returns the number of extra pixels of descent padding in the bottom line of the Layout.
Returns | |
---|---|
int |
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 |
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 |
int getEllipsizedWidth ()
Return the width to which this Layout is ellipsizing, or
getWidth()
if it is not doing anything special.
Returns | |
---|---|
int |
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 |
int getLineCount ()
Return the number of lines of text in this layout.
Returns | |
---|---|
int |
int getLineDescent (int line)
Return the descent of the specified line(0…getLineCount() - 1).
Parameters | |
---|---|
line |
int
|
Returns | |
---|---|
int |
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 |
float getLineMax (int line)
Gets the unsigned horizontal extent of the specified line, including leading margin indent, but excluding trailing whitespace.
Parameters | |
---|---|
line |
int
|
Returns | |
---|---|
float |
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 |
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 |
float getLineWidth (int line)
Gets the unsigned horizontal extent of the specified line, including leading margin indent and trailing whitespace.
Parameters | |
---|---|
line |
int
|
Returns | |
---|---|
float |
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 |
int getTopPadding ()
Returns the (negative) number of extra pixels of ascent padding in the top line of the Layout.
Returns | |
---|---|
int |
BoringLayout.Metrics isBoring (CharSequence text, TextPaint paint)
Returns null if not boring; the width, ascent, and descent if boring.
Parameters | |
---|---|
text |
CharSequence
|
paint |
TextPaint
|
Returns | |
---|---|
BoringLayout.Metrics |
BoringLayout.Metrics isBoring (CharSequence text, TextPaint paint, BoringLayout.Metrics metrics)
Returns null if not boring; the width, ascent, and descent in the provided Metrics object (or a new one if the provided one was null) if boring.
Parameters | |
---|---|
text |
CharSequence
|
paint |
TextPaint
|
metrics |
BoringLayout.Metrics
|
Returns | |
---|---|
BoringLayout.Metrics |
BoringLayout make (CharSequence source, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, BoringLayout.Metrics metrics, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsizedWidth)
Parameters | |
---|---|
source |
CharSequence
|
paint |
TextPaint
|
outerwidth |
int
|
align |
Layout.Alignment
|
spacingmult |
float
|
spacingadd |
float
|
metrics |
BoringLayout.Metrics
|
includepad |
boolean
|
ellipsize |
TextUtils.TruncateAt
|
ellipsizedWidth |
int
|
Returns | |
---|---|
BoringLayout |
BoringLayout make (CharSequence source, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, BoringLayout.Metrics metrics, boolean includepad)
Parameters | |
---|---|
source |
CharSequence
|
paint |
TextPaint
|
outerwidth |
int
|
align |
Layout.Alignment
|
spacingmult |
float
|
spacingadd |
float
|
metrics |
BoringLayout.Metrics
|
includepad |
boolean
|
Returns | |
---|---|
BoringLayout |
BoringLayout replaceOrMake (CharSequence source, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, BoringLayout.Metrics metrics, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsizedWidth)
Returns a BoringLayout for the specified text, potentially reusing this one if it is already suitable. The caller must make sure that no one is still using this Layout.
Parameters | |
---|---|
source |
CharSequence
|
paint |
TextPaint
|
outerwidth |
int
|
align |
Layout.Alignment
|
spacingmult |
float
|
spacingadd |
float
|
metrics |
BoringLayout.Metrics
|
includepad |
boolean
|
ellipsize |
TextUtils.TruncateAt
|
ellipsizedWidth |
int
|
Returns | |
---|---|
BoringLayout |
BoringLayout replaceOrMake (CharSequence source, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, BoringLayout.Metrics metrics, boolean includepad)
Returns a BoringLayout for the specified text, potentially reusing this one if it is already suitable. The caller must make sure that no one is still using this Layout.
Parameters | |
---|---|
source |
CharSequence
|
paint |
TextPaint
|
outerwidth |
int
|
align |
Layout.Alignment
|
spacingmult |
float
|
spacingadd |
float
|
metrics |
BoringLayout.Metrics
|
includepad |
boolean
|
Returns | |
---|---|
BoringLayout |