Most visited

Recently visited

Added in API level 1

Spanned

public interface Spanned
implements CharSequence

android.text.Spanned
Known Indirect Subclasses


这是将标记对象附加到其范围的文本的界面。 并非所有的文本类都有可变的标记或文本; 看到Spannable的可变标记和Editable的可变文本。

Summary

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是一个代名词 SPAN_INCLUSIVE_INCLUSIVE

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是一个代名词 SPAN_EXCLUSIVE_EXCLUSIVE

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)

返回 setSpan(Object, int, int, int)用于附加指定的标记对象时指定的标志;如果指定的对象尚未附加,则返回0。

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)

返回所述第一偏移大于 start其中类的标记对象 type开始或结束,或 limit如果没有开始或结束大于 start但小于 limit

Inherited methods

From interface java.lang.CharSequence

Constants

SPAN_COMPOSING

Added in API level 3
int SPAN_COMPOSING

此标志设置在跨度上,该跨度用于将临时样式信息应用于输入方法的组成文本,以便在替换构成文本时可以找到并删除它们。

常量值:256(0x00000100)

SPAN_EXCLUSIVE_EXCLUSIVE

Added in API level 1
int SPAN_EXCLUSIVE_EXCLUSIVE

SPAN_EXCLUSIVE_EXCLUSIVE类型的跨度不会扩展为包含在其起点或终点处插入的文本。 它们的长度不能为0,并且如果所有覆盖的文本都被删除,它们将自动从缓冲区中删除。

常量值:33(0x00000021)

SPAN_EXCLUSIVE_INCLUSIVE

Added in API level 1
int SPAN_EXCLUSIVE_INCLUSIVE

SPAN_EXCLUSIVE_INCLUSIVE类型的非0长度跨度扩展为包含在其结束点处插入的文本,但不包括在其起点处的文本。 当长度为0时,它们表现得像点。

常量值:34(0x00000022)

SPAN_INCLUSIVE_EXCLUSIVE

Added in API level 1
int SPAN_INCLUSIVE_EXCLUSIVE

SPAN_INCLUSIVE_EXCLUSIVE类型的非0长度范围扩展为包含在其起点处插入的文本,但不包括在其结束点处插入的文本。 当长度为0时,它们表现得像标记。

常量值:17(0x00000011)

SPAN_INCLUSIVE_INCLUSIVE

Added in API level 1
int SPAN_INCLUSIVE_INCLUSIVE

SPAN_INCLUSIVE_INCLUSIVE类型的跨度扩展为包含插入其起点或终点的文本。

常量值:18(0x00000012)

SPAN_INTERMEDIATE

Added in API level 3
int SPAN_INTERMEDIATE

这个标志将被设置为中间跨度变化,这意味着在它之后会有另一个变化。 通常它被用于Selection ,它会自动使用它来更新选择时设置的第一个偏移量。

常量值:512(0x00000200)

SPAN_MARK_MARK

Added in API level 1
int SPAN_MARK_MARK

类型为SPAN_MARK_MARK的0长度跨度表现得像文本标记:当在该偏移处插入文本时,它们保持原始偏移量。 从概念上讲,文字是在标记之后添加的。

常量值:17(0x00000011)

SPAN_MARK_POINT

Added in API level 1
int SPAN_MARK_POINT

SPAN_MARK_POINT是一个代名词 SPAN_INCLUSIVE_INCLUSIVE

常量值:18(0x00000012)

SPAN_PARAGRAPH

Added in API level 1
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)

SPAN_POINT_MARK

Added in API level 1
int SPAN_POINT_MARK

SPAN_POINT_MARK是一个代名词 SPAN_EXCLUSIVE_EXCLUSIVE

常量值:33(0x00000021)

SPAN_POINT_MARK_MASK

Added in API level 3
int SPAN_POINT_MARK_MASK

位相关的位掩码,用于控制跨度的点/标记行为。 MARK和POINT在概念上位于两个相邻字符之间 一个MARK在之前被附加到角色上,而一个POINT会在之后粘到角色上。 插入光标在概念上位于MARK和POINT之间。 因此,在MARK和POINT之间插入新的字符会使MARK不变,而POINT将被移位,现在位于插入的字符之后,并且仍然粘在后面的同一个字符上。 根据插入是在一个跨度的开始还是结束发生,跨度将因此被扩展以包括新的字符(当跨度在其开始处使用MARK或在其结束处使用POINT时)或者将被排除 请注意,此处之前之后指的是字符串中的偏移量,这些偏移量与文本的可视表示(从左到右或从右到左)无关。

常量值:51(0x00000033)

SPAN_POINT_POINT

Added in API level 1
int SPAN_POINT_POINT

类型为SPAN_POINT_POINT的0长度跨度的行为与游标类似:当文本插入到其偏移量处时,它们会按插入的长度向前推送。 文本在概念上插入点之前。

常量值:34(0x00000022)

SPAN_PRIORITY

Added in API level 1
int SPAN_PRIORITY

由SPAN_PRIORITY位图指定的位决定更改通知的顺序 - 较高的数字首先出现。 你可能不需要设置它; 它被用来当文本改变时,文本布局有机会在任何其他回调可以查询文本的布局之前更新自己。

常量值:16711680(0x00ff0000)

SPAN_PRIORITY_SHIFT

Added in API level 1
int SPAN_PRIORITY_SHIFT

编号在SPAN_PRIORITY_SHIFT之上的位决定了更改通知的顺序 - 更高的数字先行。 你可能不需要设置它; 它被用来当文本改变时,文本布局有机会在任何其他回调可以查询文本的布局之前更新自己。

常量值:16(0x00000010)

SPAN_USER

Added in API level 1
int SPAN_USER

由SPAN_USER位域指定的位可供调用者用来存储与其跨度对象关联的标量数据。

常量值:-16777216(0xff000000)

SPAN_USER_SHIFT

Added in API level 1
int SPAN_USER_SHIFT

编号为SPAN_USER_SHIFT及以上的位可供调用者用来存储与其跨度对象关联的标量数据。

常量值:24(0x00000018)

Public methods

getSpanEnd

Added in API level 1
int getSpanEnd (Object tag)

返回指定标记对象附加到的文本范围的末尾,如果对象未附加,则返回-1。

Parameters
tag Object
Returns
int

getSpanFlags

Added in API level 1
int getSpanFlags (Object tag)

返回 setSpan(Object, int, int, int)用于附加指定的标记对象时指定的标志;如果指定的对象尚未附加,则返回0。

Parameters
tag Object
Returns
int

getSpanStart

Added in API level 1
int getSpanStart (Object tag)

返回指定标记对象附加到的文本范围的开始位置,如果未附加对象,则返回-1。

Parameters
tag Object
Returns
int

getSpans

Added in API level 1
T[] getSpans (int start, 
                int end, 
                Class<T> type)

返回附加到此CharSequence的指定切片并且其类型是指定类型或其子类的标记对象的数组。 如果您想要所有对象而不考虑类型,请指定Object.class作为类型。

Parameters
start int
end int
type Class
Returns
T[]

nextSpanTransition

Added in API level 1
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

Hooray!