BoringLayout
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.
Summary
Nested classes | |
|---|---|
class |
BoringLayout.Metrics
|
Inherited constants |
|---|
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 | |
|---|---|
android.text.Layout
| |
java.lang.Object
| |
android.text.TextUtils.EllipsizeCallback
| |
Public constructors
BoringLayout
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
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
|
Public methods
draw
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
|
ellipsized
void ellipsized (int start,
int end)
Callback for the ellipsizer to report what region it ellipsized.
| Parameters | |
|---|---|
start |
int
|
end |
int
|
getBottomPadding
int getBottomPadding ()
Returns the number of extra pixels of descent padding in the bottom line of the Layout.
| Returns | |
|---|---|
int |
|
getEllipsisCount
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 |
|
getEllipsisStart
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 |
|
getEllipsizedWidth
int getEllipsizedWidth ()
Return the width to which this Layout is ellipsizing, or
getWidth() if it is not doing anything special.
| Returns | |
|---|---|
int |
|
getLineContainsTab
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 |
|
getLineCount
int getLineCount ()
Return the number of lines of text in this layout.
| Returns | |
|---|---|
int |
|
getLineDescent
int getLineDescent (int line)
Return the descent of the specified line(0…getLineCount() - 1).
| Parameters | |
|---|---|
line |
int
|
| Returns | |
|---|---|
int |
|
getLineDirections
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 |
|
getLineMax
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 |
|
getLineStart
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 |
|
getLineTop
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 |
|
getLineWidth
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 |
|
getParagraphDirection
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 |
|
getTopPadding
int getTopPadding ()
Returns the (negative) number of extra pixels of ascent padding in the top line of the Layout.
| Returns | |
|---|---|
int |
|
isBoring
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 |
|
isBoring
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 |
|
make
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 |
|
make
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 |
|
replaceOrMake
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 |
|
replaceOrMake
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 |
|
Interfaces
Classes
- AlteredCharSequence
- AndroidCharacter
- Annotation
- AutoText
- BidiFormatter
- BidiFormatter.Builder
- BoringLayout
- BoringLayout.Metrics
- ClipboardManager
- DynamicLayout
- Editable.Factory
- Html
- InputFilter.AllCaps
- InputFilter.LengthFilter
- Layout
- Layout.Directions
- LoginFilter
- LoginFilter.PasswordFilterGMail
- LoginFilter.UsernameFilterGeneric
- LoginFilter.UsernameFilterGMail
- NoCopySpan.Concrete
- Selection
- Spannable.Factory
- SpannableString
- SpannableStringBuilder
- SpannedString
- StaticLayout
- StaticLayout.Builder
- TextDirectionHeuristics
- TextPaint
- TextUtils
- TextUtils.SimpleStringSplitter
Enums

