public interface Spanned
implements CharSequence
android.text.Spanned |
Known Indirect Subclasses |
这是将标记对象附加到其范围的文本的界面。 并非所有的文本类都有可变的标记或文本; 看到Spannable
的可变标记和Editable
的可变文本。
Constants |
|
---|---|
int |
SPAN_COMPOSING 此标志设置在跨度上,该跨度用于将临时样式信息应用于输入方法的组成文本,以便在替换构成文本时可以找到并删除它们。 |
int |
SPAN_EXCLUSIVE_EXCLUSIVE SPAN_EXCLUSIVE_EXCLUSIVE类型的跨度不会扩展为包含在其起点或终点处插入的文本。 |
int |
SPAN_EXCLUSIVE_INCLUSIVE SPAN_EXCLUSIVE_INCLUSIVE类型的非0长度跨度扩展为包含在其结束点处插入的文本,但不包括在其起点处的文本。 |
int |
SPAN_INCLUSIVE_EXCLUSIVE SPAN_INCLUSIVE_EXCLUSIVE类型的非0长度范围扩展为包含在其起点处插入的文本,但不包括在其结束点处插入的文本。 |
int |
SPAN_INCLUSIVE_INCLUSIVE SPAN_INCLUSIVE_INCLUSIVE类型的跨度扩展为包含插入其起点或终点的文本。 |
int |
SPAN_INTERMEDIATE 这个标志将被设置为中间跨度变化,这意味着在它之后会有另一个变化。 |
int |
SPAN_MARK_MARK 类型为SPAN_MARK_MARK的0长度跨度表现得像文本标记:当在该偏移处插入文本时,它们保持原始偏移量。 |
int |
SPAN_MARK_POINT SPAN_MARK_POINT是一个代名词 |
int |
SPAN_PARAGRAPH SPAN_PARAGRAPH的行为与SPAN_INCLUSIVE_EXCLUSIVE(SPAN_MARK_MARK)的行为相似,只是如果跨度的任一端位于缓冲区的末尾,则该行为与_POINT相反(如果SPAN_INCLUSIVE_INCLUSIVE在中间开始并在末尾结束,则为SPAN_INCLUSIVE_INCLUSIVE;如果同时为SPAN_EXCLUSIVE_INCLUSIVE开始和结束)。 |
int |
SPAN_POINT_MARK SPAN_POINT_MARK是一个代名词 |
int |
SPAN_POINT_MARK_MASK 位相关的位掩码,用于控制跨度的点/标记行为。 |
int |
SPAN_POINT_POINT 类型为SPAN_POINT_POINT的0长度跨度的行为与游标类似:当文本插入到其偏移量处时,它们会按插入的长度向前推送。 |
int |
SPAN_PRIORITY 由SPAN_PRIORITY位图指定的位决定更改通知的顺序 - 较高的数字首先出现。 |
int |
SPAN_PRIORITY_SHIFT 编号在SPAN_PRIORITY_SHIFT之上的位决定了更改通知的顺序 - 更高的数字先行。 |
int |
SPAN_USER 由SPAN_USER位域指定的位可供调用者用来存储与其跨度对象关联的标量数据。 |
int |
SPAN_USER_SHIFT 编号为SPAN_USER_SHIFT及以上的位可供调用者用来存储与其跨度对象关联的标量数据。 |
Public methods |
|
---|---|
abstract int |
getSpanEnd(Object tag) 返回指定标记对象附加到的文本范围的末尾,如果对象未附加,则返回-1。 |
abstract int |
getSpanFlags(Object tag) 返回 |
abstract int |
getSpanStart(Object tag) 返回指定标记对象附加到的文本范围的开始位置,如果未附加对象,则返回-1。 |
abstract <T> T[] |
getSpans(int start, int end, Class<T> type) 返回附加到此CharSequence的指定切片并且其类型是指定类型或其子类的标记对象的数组。 |
abstract int |
nextSpanTransition(int start, int limit, Class type) 返回所述第一偏移大于 |
Inherited methods |
|
---|---|
From interface java.lang.CharSequence
|
int SPAN_COMPOSING
此标志设置在跨度上,该跨度用于将临时样式信息应用于输入方法的组成文本,以便在替换构成文本时可以找到并删除它们。
常量值:256(0x00000100)
int SPAN_EXCLUSIVE_EXCLUSIVE
SPAN_EXCLUSIVE_EXCLUSIVE类型的跨度不会扩展为包含在其起点或终点处插入的文本。 它们的长度不能为0,并且如果所有覆盖的文本都被删除,它们将自动从缓冲区中删除。
常量值:33(0x00000021)
int SPAN_EXCLUSIVE_INCLUSIVE
SPAN_EXCLUSIVE_INCLUSIVE类型的非0长度跨度扩展为包含在其结束点处插入的文本,但不包括在其起点处的文本。 当长度为0时,它们表现得像点。
常量值:34(0x00000022)
int SPAN_INCLUSIVE_EXCLUSIVE
SPAN_INCLUSIVE_EXCLUSIVE类型的非0长度范围扩展为包含在其起点处插入的文本,但不包括在其结束点处插入的文本。 当长度为0时,它们表现得像标记。
常量值:17(0x00000011)
int SPAN_INCLUSIVE_INCLUSIVE
SPAN_INCLUSIVE_INCLUSIVE类型的跨度扩展为包含插入其起点或终点的文本。
常量值:18(0x00000012)
int SPAN_INTERMEDIATE
这个标志将被设置为中间跨度变化,这意味着在它之后会有另一个变化。 通常它被用于Selection
,它会自动使用它来更新选择时设置的第一个偏移量。
常量值:512(0x00000200)
int SPAN_MARK_MARK
类型为SPAN_MARK_MARK的0长度跨度表现得像文本标记:当在该偏移处插入文本时,它们保持原始偏移量。 从概念上讲,文字是在标记之后添加的。
常量值:17(0x00000011)
int SPAN_MARK_POINT
SPAN_MARK_POINT是一个代名词 SPAN_INCLUSIVE_INCLUSIVE
。
常量值:18(0x00000012)
int SPAN_PARAGRAPH
SPAN_PARAGRAPH的行为与SPAN_INCLUSIVE_EXCLUSIVE(SPAN_MARK_MARK)的行为相似,只是如果跨度的任一端位于缓冲区的末尾,则该行为与_POINT相反(如果SPAN_INCLUSIVE_INCLUSIVE在中间开始并在末尾结束,则为SPAN_INCLUSIVE_INCLUSIVE;如果同时为SPAN_EXCLUSIVE_INCLUSIVE开始和结束)。
它的端点必须是缓冲区的开始或结束位置,或紧接在\ n字符之后,并且如果将其锚定的\ n被删除,端点将被拉到缓冲区中的下一个\ n(或到达缓冲区)。 如果具有SPAN_PARAGRAPH标志的跨度被粘贴到另一个文本中,并且段落边界约束不满足,则跨度将被丢弃。
常量值:51(0x00000033)
int SPAN_POINT_MARK
SPAN_POINT_MARK是一个代名词 SPAN_EXCLUSIVE_EXCLUSIVE
。
常量值:33(0x00000021)
int SPAN_POINT_MARK_MASK
位相关的位掩码,用于控制跨度的点/标记行为。 MARK和POINT在概念上位于两个相邻字符之间 。 一个MARK在之前被附加到角色上,而一个POINT会在之后粘到角色上。 插入光标在概念上位于MARK和POINT之间。 因此,在MARK和POINT之间插入新的字符会使MARK不变,而POINT将被移位,现在位于插入的字符之后,并且仍然粘在后面的同一个字符上。 根据插入是在一个跨度的开始还是结束发生,跨度将因此被扩展以包括新的字符(当跨度在其开始处使用MARK或在其结束处使用POINT时)或者将被排除 。 请注意,此处之前和之后指的是字符串中的偏移量,这些偏移量与文本的可视表示(从左到右或从右到左)无关。
常量值:51(0x00000033)
int SPAN_POINT_POINT
类型为SPAN_POINT_POINT的0长度跨度的行为与游标类似:当文本插入到其偏移量处时,它们会按插入的长度向前推送。 文本在概念上插入点之前。
常量值:34(0x00000022)
int SPAN_PRIORITY
由SPAN_PRIORITY位图指定的位决定更改通知的顺序 - 较高的数字首先出现。 你可能不需要设置它; 它被用来当文本改变时,文本布局有机会在任何其他回调可以查询文本的布局之前更新自己。
常量值:16711680(0x00ff0000)
int SPAN_PRIORITY_SHIFT
编号在SPAN_PRIORITY_SHIFT之上的位决定了更改通知的顺序 - 更高的数字先行。 你可能不需要设置它; 它被用来当文本改变时,文本布局有机会在任何其他回调可以查询文本的布局之前更新自己。
常量值:16(0x00000010)
int SPAN_USER
由SPAN_USER位域指定的位可供调用者用来存储与其跨度对象关联的标量数据。
常量值:-16777216(0xff000000)
int SPAN_USER_SHIFT
编号为SPAN_USER_SHIFT及以上的位可供调用者用来存储与其跨度对象关联的标量数据。
常量值:24(0x00000018)
int getSpanEnd (Object tag)
返回指定标记对象附加到的文本范围的末尾,如果对象未附加,则返回-1。
Parameters | |
---|---|
tag |
Object
|
Returns | |
---|---|
int |
int getSpanFlags (Object tag)
返回 setSpan(Object, int, int, int)
用于附加指定的标记对象时指定的标志;如果指定的对象尚未附加,则返回0。
Parameters | |
---|---|
tag |
Object
|
Returns | |
---|---|
int |
int getSpanStart (Object tag)
返回指定标记对象附加到的文本范围的开始位置,如果未附加对象,则返回-1。
Parameters | |
---|---|
tag |
Object
|
Returns | |
---|---|
int |
T[] getSpans (int start, int end, Class<T> type)
返回附加到此CharSequence的指定切片并且其类型是指定类型或其子类的标记对象的数组。 如果您想要所有对象而不考虑类型,请指定Object.class作为类型。
Parameters | |
---|---|
start |
int
|
end |
int
|
type |
Class
|
Returns | |
---|---|
T[] |
int nextSpanTransition (int start, int limit, Class type)
返回所述第一偏移大于start
其中类的标记对象type
开始或结束,或limit
如果没有开始或结束大于start
但小于limit
。 如果您希望每次转换,而不考虑类型,请指定null
或Object.class作为类型。
Parameters | |
---|---|
start |
int
|
limit |
int
|
type |
Class
|
Returns | |
---|---|
int |