public class TtsSpan
extends Object
implements ParcelableSpan
java.lang.Object | |
↳ | android.text.style.TtsSpan |
提供用于文本到语音引擎的相关文本的额外元数据的跨度。 如果文本正在通过文本到语音引擎进行处理,引擎可能会使用此跨度中的数据,而不是其相关文本。 TtsSpan的每个实例都有一个类型,例如TYPE_DATE
或TYPE_MEASURE
。 以及作为捆绑中的键值对提供的参数列表。 内部类为方便起见,并为每个TtsSpan类型提供构建器。
Nested classes |
|
---|---|
class |
TtsSpan.Builder<C extends Builder<?>> TtsSpans的简单生成器。 |
class |
TtsSpan.CardinalBuilder TYPE_CARDINAL类型的 |
class |
TtsSpan.DateBuilder |
class |
TtsSpan.DecimalBuilder TYPE_DECIMAL类型的 |
class |
TtsSpan.DigitsBuilder 类型为TYPE_DIGITS的 |
class |
TtsSpan.ElectronicBuilder |
class |
TtsSpan.FractionBuilder TYPE_FRACTION类型的 |
class |
TtsSpan.MeasureBuilder TYPE_MEASURE类型的 |
class |
TtsSpan.MoneyBuilder TYPE_MONEY类型的 |
class |
TtsSpan.OrdinalBuilder TYPE_ORDINAL类型的 |
class |
TtsSpan.SemioticClassBuilder<C extends SemioticClassBuilder<?>> TtsSpans的构建者,具有形态句法特征的设置者。 |
class |
TtsSpan.TelephoneBuilder TYPE_TELEPHONE类型的 |
class |
TtsSpan.TextBuilder |
class |
TtsSpan.TimeBuilder |
class |
TtsSpan.VerbatimBuilder TYPE_VERBATIM类型的 |
Inherited constants |
---|
From interface android.os.Parcelable
|
Public constructors |
|
---|---|
TtsSpan(String type, PersistableBundle args) |
|
TtsSpan(Parcel src) |
Public methods |
|
---|---|
int |
describeContents() 描述此Parcelable实例的封送表示中包含的特殊对象的种类。 |
PersistableBundle |
getArgs() 返回一组参数集。 |
int |
getSpanTypeId() 返回此跨度类的特殊类型标识符。 |
String |
getType() 返回类型。 |
void |
writeToParcel(Parcel dest, int flags) 将此对象平铺到一个包裹中。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface android.text.ParcelableSpan
|
|
From interface android.os.Parcelable
|
String ARG_ANIMACY
提供生命信息的字符串参数。 可以是ANIMACY_ANIMATE
或ANIMACY_INANIMATE
常量值:“android.arg.animacy”
String ARG_CASE
字符串参数提供案例信息。 可以是任何CASE_NOMINATIVE
, CASE_ACCUSATIVE
, CASE_DATIVE
, CASE_ABLATIVE
, CASE_GENITIVE
, CASE_VOCATIVE
, CASE_LOCATIVE
和CASE_INSTRUMENTAL
常量值:“android.arg.case”
String ARG_COUNTRY_CODE
用于指定电话号码的国家代码的参数。 可以是一串数字,可以用“+”作为前缀。 可以与TYPE_TELEPHONE
一起使用。
常量值:“android.arg.country_code”
String ARG_CURRENCY
用于指定货币的参数。 应该是ISO4217货币代码,例如“USD”。 可以与TYPE_MONEY
一起使用。
常量值:“android.arg.money”
String ARG_DAY
用于指定日期的月份的日期的参数。 该值应该以从1到31的整数提供。可以与TYPE_DATE
一起使用。
常量值:“android.arg.day”
String ARG_DENOMINATOR
用于指定分数的分母的参数。 该值可以是任意大小的数字字符串,可以选择以+或 - 作为前缀。 可以与TYPE_FRACTION
一起使用。
常量值:“android.arg.denominator”
String ARG_DIGITS
用于指定一串数字的参数。 可以与TYPE_DIGITS
一起使用。
常量值:“android.arg.digits”
String ARG_DOMAIN
用于指定URI的域部分的参数。 例如“source.android.com”。 可以与TYPE_ELECTRONIC
一起使用。
常量值:“android.arg.domain”
String ARG_EXTENSION
用于指定电话号码的扩展部分的参数。 可以是一串数字。 可以与TYPE_TELEPHONE
一起使用。
常量值:“android.arg.extension”
String ARG_FRACTIONAL_PART
用于指定小数部分的参数。 该值可以是任何大小的数字串。 可以与TYPE_DECIMAL
一起使用。
常量值:“android.arg.fractional_part”
String ARG_FRAGMENT_ID
用于指定URI的片段ID的参数。 应该被指定为一个字符串。 可以与TYPE_ELECTRONIC
一起使用。
常量值:“android.arg.fragment_id”
String ARG_GENDER
提供性别信息的字符串参数 可以是任何GENDER_NEUTRAL
, GENDER_MALE
和GENDER_FEMALE
。
常量值:“android.arg.gender”
String ARG_HOURS
参数用于指定时间的小时数。 小时数应该以从0到24的整数形式提供。可与TYPE_TIME
一起使用。
常量值:“android.arg.hours”
String ARG_INTEGER_PART
用于指定小数或分数的整数部分的参数。 该值可以是任意大小的数字字符串,可以选择以 - 或+作为前缀。 可以与TYPE_DECIMAL
和TYPE_FRACTION
一起使用。
常量值:“android.arg.integer_part”
String ARG_MINUTES
用于指定时间分钟的参数。 小时数应该以从0到59的整数提供。可与TYPE_TIME
一起使用。
常量值:“android.arg.minutes”
String ARG_MONTH
用于指定日期的月份的参数。 该值应被设置为整数,并且可以是任何的MONTH_JANUARY
, MONTH_FEBRUARY
, MONTH_MARCH
, MONTH_APRIL
, MONTH_MAY
, MONTH_JUNE
, MONTH_JULY
, MONTH_AUGUST
, MONTH_SEPTEMBER
, MONTH_OCTOBER
, MONTH_NOVEMBER
和MONTH_DECEMBER
。 可以与TYPE_DATE
一起使用。
常量值:“android.arg.month”
String ARG_MULTIPLICITY
提供多重信息的字符串参数。 可以是任何MULTIPLICITY_SINGLE
, MULTIPLICITY_DUAL
和MULTIPLICITY_PLURAL
常量值:“android.arg.multiplicity”
String ARG_NUMBER
用于指定整数的参数。 该值可以是任意大小的数字字符串,可以选择以 - 或+作为前缀。 可以与TYPE_CARDINAL
和TYPE_ORDINAL
一起使用。
常量值:“android.arg.number”
String ARG_NUMBER_PARTS
参数用于指定电话号码的主要部分。 可以是一串数字,其中电话号码的不同部分可以用空格' - ','/'或'。'分隔。 可以与TYPE_TELEPHONE
一起使用。
常量值:“android.arg.number_parts”
String ARG_NUMERATOR
用于指定分数的分子的参数。 该值可以是任意大小的数字字符串,可以选择以 - 或+作为前缀。 可以与TYPE_FRACTION
一起使用。
常量值:“android.arg.numerator”
String ARG_PASSWORD
用于指定URI的密码部分的参数。 应该设置为一个字符串。 可以与TYPE_ELECTRONIC
一起使用。
常量值:“android.arg.password”
String ARG_PATH
用于指定URI的路径部分的参数。 例如“source / index.html”。 可以与TYPE_ELECTRONIC
一起使用。
常量值:“android.arg.path”
String ARG_PORT
用于指定URI的端口号的参数。 应该被指定为一个整数。 可以与TYPE_ELECTRONIC
一起使用。
常量值:“android.arg.port”
String ARG_PROTOCOL
用于指定URI的协议的参数。 例子是“http”和“ftp”。 可以与TYPE_ELECTRONIC
一起使用。
常量值:“android.arg.protocol”
String ARG_QUANTITY
用于选择用于发音大量金钱的后缀(千,百万等)的论据。 例如,它可以用来消除“两千五百美元”和“两点五千美元”之间的歧义。 如果实施,引擎应至少支持“1000”,“1000000”,“1000000000”和“1000000000000”。 例如:如果ARG_INTEGER_PART
参数为“10”, ARG_FRACTIONAL_PART
参数为“4”, ARG_QUANTITY
参数为“1000”, ARG_CURRENCY
参数为“usd”,则TTS引擎可以将该跨度读作“十点四千美元” 。 以同样的例子,但数量设置为“1000000”,TTS引擎可以将该跨度读作“十点四百万美元”。 可以与TYPE_MONEY
一起使用。
常量值:“android.arg.quantity”
String ARG_QUERY_STRING
用于指定URI的查询字符串的参数。 例如“arg = value&argtwo = value”。 可以与TYPE_ELECTRONIC
一起使用。
常量值:“android.arg.query_string”
String ARG_TEXT
提供要合成的文本的字符串。 合成器可以自由决定如何解释文本。 可以与TYPE_TEXT
一起使用。
常量值:“android.arg.text”
String ARG_UNIT
用于指定度量单位的参数。 单位应始终用英文单数形式指定。 可以使用前缀。 引擎会尽其所能地用所使用的语言正确发音。 预计发动机至少可以支持诸如“米”,“秒”,“摄氏度”和“华氏度”等常见词头,如“毫”和“千”等常见词头。 可以与TYPE_MEASURE
一起使用。
常量值:“android.arg.unit”
String ARG_USERNAME
用于指定URI的用户名部分的参数。 应该设置为一个字符串。 可与TYPE_ELECTRONIC
一起使用。
常量值:“android.arg.username”
String ARG_VERBATIM
参数用于指定一个字符串,其中的字符是逐字读取的,除了空格。 可以与TYPE_VERBATIM
一起使用。
常量值:“android.arg.verbatim”
String ARG_WEEKDAY
用于指定日期的工作日的参数。 该值应被设置为整数,并且可以是任何的WEEKDAY_SUNDAY
, WEEKDAY_MONDAY
, WEEKDAY_TUESDAY
, WEEKDAY_WEDNESDAY
, WEEKDAY_THURSDAY
, WEEKDAY_FRIDAY
和WEEKDAY_SATURDAY
。 可与TYPE_DATE
一起使用。
常量值:“android.arg.weekday”
String ARG_YEAR
用于指定日期的年份的参数。 该值应该作为正整数提供。 可与TYPE_DATE
一起使用。
常量值:“android.arg.year”
String TYPE_CARDINAL
与此跨度相关的文本是一个基数。 必须包含与ARG_NUMBER
合成的ARG_NUMBER
。 还接受参数ARG_GENDER
, ARG_ANIMACY
, ARG_MULTIPLICITY
和ARG_CASE
。
常量值:“android.type.cardinal”
String TYPE_DATE
与此跨度相关的文本是日期。 必须提供至少一个参数ARG_MONTH
和ARG_YEAR
。 如果设置了ARG_MONTH
则参数ARG_DAY
是可选的。 如果设置了ARG_DAY
则参数ARG_WEEKDAY
是可选的。 还接受参数ARG_GENDER
, ARG_ANIMACY
, ARG_MULTIPLICITY
和ARG_CASE
。
常量值:“android.type.date”
String TYPE_DECIMAL
与此跨度相关的文本是十进制数字。 必须包含与ARG_INTEGER_PART
和ARG_FRACTIONAL_PART
合成的编号。 还接受参数ARG_GENDER
, ARG_ANIMACY
, ARG_MULTIPLICITY
和ARG_CASE
。
常量值:“android.type.decimal”
String TYPE_DIGITS
与此跨度相关的文本是一系列必须按顺序读取的数字。 数字可以用ARG_DIGITS
来设置。 还接受参数ARG_GENDER
, ARG_ANIMACY
, ARG_MULTIPLICITY
和ARG_CASE
。
常量值:“android.type.digits”
String TYPE_ELECTRONIC
与此跨度相关联的文本是一个URI(可用于URL和电子邮件地址)。 URL的完整模式(可以有效地将电子邮件地址视为其子集)是:protocol:// username:password @ domain:port / path?query_string#fragment_id因此,只填充用户名和域名将作为电子邮件地址进行读取。 所有的参数都是可选的,但至少有一个必须提供: ARG_PROTOCOL
, ARG_USERNAME
, ARG_PASSWORD
, ARG_DOMAIN
, ARG_PORT
, ARG_PATH
, ARG_QUERY_STRING
和ARG_FRAGMENT_ID
。 还接受参数ARG_GENDER
, ARG_ANIMACY
, ARG_MULTIPLICITY
和ARG_CASE
。
常量值:“android.type.electronic”
String TYPE_FRACTION
与此跨度相关的文本是一个分数。 必须包含与ARG_NUMERATOR
和ARG_DENOMINATOR
合成的编号。 ARG_INTEGER_PART
是可选还接受参数ARG_GENDER
, ARG_ANIMACY
, ARG_MULTIPLICITY
和ARG_CASE
。
常量值:“android.type.fraction”
String TYPE_MEASURE
与此跨度相关的文本是一种度量,由一个数字和一个单位组成。 该数字可以是基数,小数或分数。 设置有相同的参数个数TYPE_CARDINAL
, TYPE_DECIMAL
或者TYPE_FRACTION
。 该单位可以用ARG_UNIT
指定。 还接受参数ARG_GENDER
, ARG_ANIMACY
, ARG_MULTIPLICITY
和ARG_CASE
。
常量值:“android.type.measure”
String TYPE_MONEY
与此跨度相关的文本是一笔钱。 使用与TYPE_DECIMAL
相同的参数设置金额。 ARG_CURRENCY
用于设置货币。 ARG_QUANTITY
是可选的。 还接受参数ARG_GENDER
, ARG_ANIMACY
, ARG_MULTIPLICITY
和ARG_CASE
。
常量值:“android.type.money”
String TYPE_ORDINAL
与此跨度相关的文本是序号。 必须包含与ARG_NUMBER
合成的ARG_NUMBER
。 还接受参数ARG_GENDER
, ARG_ANIMACY
, ARG_MULTIPLICITY
和ARG_CASE
。
常量值:“android.type.ordinal”
String TYPE_TELEPHONE
与此跨度相关的文本是电话号码。 参数ARG_NUMBER_PARTS
是必需的。 ARG_COUNTRY_CODE
和ARG_EXTENSION
是可选的。 还接受参数ARG_GENDER
, ARG_ANIMACY
, ARG_MULTIPLICITY
和ARG_CASE
。
常量值:“android.type.telephone”
String TYPE_TEXT
此跨度类型可用于向其跨越的文本添加形态句法特征,或者合成跨页文本以外的其他内容。 使用参数ARG_TEXT
设置不同的文本。 接受这些参数ARG_GENDER
, ARG_ANIMACY
, ARG_MULTIPLICITY
和ARG_CASE
。
常量值:“android.type.text”
String TYPE_TIME
与此跨度相关的文本是一个时间,由ARG_HOURS
和ARG_MINUTES
指定的小时和分钟ARG_MINUTES
。 还接受参数ARG_GENDER
, ARG_ANIMACY
, ARG_MULTIPLICITY
和ARG_CASE
。
常量值:“android.type.time”
String TYPE_VERBATIM
与此跨度相关的文本是一系列必须逐字读取的字符。 引擎将尝试读出任何字符,如标点符号,但不包括空格。 需要ARG_VERBATIM
。 还接受参数ARG_GENDER
, ARG_ANIMACY
, ARG_MULTIPLICITY
和ARG_CASE
。
常量值:“android.type.verbatim”
TtsSpan (String type, PersistableBundle args)
Parameters | |
---|---|
type |
String
|
args |
PersistableBundle
|
int describeContents ()
描述此Parcelable实例的封送表示中包含的特殊对象的种类。 例如,如果对象在writeToParcel(Parcel, int)
的输出中包含writeToParcel(Parcel, int)
,则此方法的返回值必须包含CONTENTS_FILE_DESCRIPTOR
位。
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. |
PersistableBundle getArgs ()
返回一组参数集。
Returns | |
---|---|
PersistableBundle |
The bundle of the arguments set. |
void writeToParcel (Parcel dest, int flags)
将此对象平铺到一个包裹中。
Parameters | |
---|---|
dest |
Parcel : The Parcel in which the object should be written. |
flags |
int : Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE . |