public class BoringLayout
extends Layout
implements TextUtils.EllipsizeCallback
java.lang.Object | ||
↳ | android.text.Layout | |
↳ | android.text.BoringLayout |
BoringLayout是适合单行的文本的非常简单的布局实现,并且都是从左到右的字符。 你可能永远都不想自己做出其中的一个; 如果你这样做,一定isBoring(CharSequence, TextPaint)
致电isBoring(CharSequence, TextPaint)
,确保文字符合标准。
该小部件使用此类来控制文本布局。 您不需要直接使用此类,除非您正在实现自己的窗口小部件或自定义显示对象,在这种情况下,我们鼓励您使用布局,而不是直接调用Canvas.drawText()
。
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) 在指定的画布上绘制此布局,并在背景和文本之间绘制高亮度路径。 |
void |
ellipsized(int start, int end) 回调ellipsizer报告它被省略的区域。 |
int |
getBottomPadding() 返回布局底行中的下降填充的额外像素数。 |
int |
getEllipsisCount(int line) 返回要椭圆化的字符数,如果不发生省略号,则返回0。 |
int |
getEllipsisStart(int line) 将第一个字符的偏移量返回相对于该行的起始位置。 |
int |
getEllipsizedWidth() 返回此Layout的椭圆化宽度,如果没有做任何特殊处理,则返回 |
int |
getHeight() 返回此布局的总高度。 |
boolean |
getLineContainsTab(int line) 返回指定的行是否包含一个或多个需要专门处理的字符,如选项卡。 |
int |
getLineCount() 返回此布局中的文本行数。 |
int |
getLineDescent(int line) 返回指定行的下降(0 ... getLineCount() - 1)。 |
final Layout.Directions |
getLineDirections(int line) 返回指定行的定向运行信息。 |
float |
getLineMax(int line) 获取指定行的无符号水平范围,包括前导边距缩进,但不包括尾随空格。 |
int |
getLineStart(int line) 返回指定行首的文本偏移量(0 ... getLineCount())。 |
int |
getLineTop(int line) 返回指定行顶部的垂直位置(0 ... getLineCount())。 |
float |
getLineWidth(int line) 获取指定行的无符号水平范围,包括前导边距缩进和尾随空白。 |
int |
getParagraphDirection(int line) 返回包含在指定行的段落的初级方向性,要么1左到右线,或-1从右到左线(见 |
int |
getTopPadding() 返回布局顶部行中(ascent padding)额外像素的(负)数。 |
static BoringLayout.Metrics |
isBoring(CharSequence text, TextPaint paint) 如果不是无聊,则返回null; 宽度,上升和下降如果无聊。 |
static BoringLayout.Metrics |
isBoring(CharSequence text, TextPaint paint, BoringLayout.Metrics metrics) 如果不是无聊,则返回null; 如果提供的Metrics对象(如果提供的对象为null,则为新对象)的宽度,上升和下降如果无聊。 |
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) 为指定的文本返回一个BoringLayout,如果它已经合适,可能重用这个。 |
BoringLayout |
replaceOrMake(CharSequence source, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, BoringLayout.Metrics metrics, boolean includepad) 为指定的文本返回一个BoringLayout,如果它已经合适,可能重用这个。 |
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)
在指定的画布上绘制此布局,并在背景和文本之间绘制高亮度路径。
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)
回调ellipsizer报告它被省略的区域。
Parameters | |
---|---|
start |
int
|
end |
int
|
int getEllipsisCount (int line)
返回要椭圆化的字符数,如果不发生省略号,则返回0。
Parameters | |
---|---|
line |
int
|
Returns | |
---|---|
int |
int getEllipsisStart (int line)
将第一个字符的偏移量返回相对于该行的起始位置。 (所以0如果行的开始是椭圆化的,而不是getLineStart()。)
Parameters | |
---|---|
line |
int
|
Returns | |
---|---|
int |
int getEllipsizedWidth ()
返回此布局的椭圆化宽度,如果没有做任何特殊处理,则返回 getWidth()
。
Returns | |
---|---|
int |
boolean getLineContainsTab (int line)
返回指定的行是否包含一个或多个需要专门处理的字符,如选项卡。
Parameters | |
---|---|
line |
int
|
Returns | |
---|---|
boolean |
int getLineDescent (int line)
返回指定行的下降(0 ... getLineCount() - 1)。
Parameters | |
---|---|
line |
int
|
Returns | |
---|---|
int |
Layout.Directions getLineDirections (int line)
返回指定行的定向运行信息。 该阵列交替排列从左到右和从右到左的字符的字符数。
注意:这不足以支持双向文本,并且会改变。
Parameters | |
---|---|
line |
int
|
Returns | |
---|---|
Layout.Directions |
float getLineMax (int line)
获取指定行的无符号水平范围,包括前导边距缩进,但不包括尾随空格。
Parameters | |
---|---|
line |
int
|
Returns | |
---|---|
float |
int getLineStart (int line)
返回指定行首的文本偏移量(0 ... getLineCount())。 如果指定的行等于行数,则返回文本的长度。
Parameters | |
---|---|
line |
int
|
Returns | |
---|---|
int |
int getLineTop (int line)
返回指定行顶部的垂直位置(0 ... getLineCount())。 如果指定的行等于行数,则返回最后一行的底部。
Parameters | |
---|---|
line |
int
|
Returns | |
---|---|
int |
float getLineWidth (int line)
获取指定行的无符号水平范围,包括前导边距缩进和尾随空白。
Parameters | |
---|---|
line |
int
|
Returns | |
---|---|
float |
int getParagraphDirection (int line)
返回包含在指定行的段落的初级方向性,要么1左到右线,或-1从右到左线(见 DIR_LEFT_TO_RIGHT
, DIR_RIGHT_TO_LEFT
)。
Parameters | |
---|---|
line |
int
|
Returns | |
---|---|
int |
int getTopPadding ()
返回布局顶部行中(ascent padding)额外像素的(负)数。
Returns | |
---|---|
int |
BoringLayout.Metrics isBoring (CharSequence text, TextPaint paint)
如果不是无聊,则返回null; 宽度,上升和下降如果无聊。
Parameters | |
---|---|
text |
CharSequence
|
paint |
TextPaint
|
Returns | |
---|---|
BoringLayout.Metrics |
BoringLayout.Metrics isBoring (CharSequence text, TextPaint paint, BoringLayout.Metrics metrics)
如果不是无聊,则返回null; 如果提供的Metrics对象(如果提供的对象为null,则为新对象)的宽度,上升和下降如果无聊。
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)
为指定的文本返回一个BoringLayout,如果它已经合适,可能重用这个。 调用者必须确保没有人仍在使用此布局。
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)
为指定的文本返回一个BoringLayout,如果它已经合适,可能重用这个。 调用者必须确保没有人仍在使用此布局。
Parameters | |
---|---|
source |
CharSequence
|
paint |
TextPaint
|
outerwidth |
int
|
align |
Layout.Alignment
|
spacingmult |
float
|
spacingadd |
float
|
metrics |
BoringLayout.Metrics
|
includepad |
boolean
|
Returns | |
---|---|
BoringLayout |