LineBreakConfig
class LineBreakConfig : Parcelable
| kotlin.Any | |
| ↳ | android.graphics.text.LineBreakConfig |
Specifies the line-break strategies for text wrapping.
See the line-break property for more information.
Summary
| Nested classes | |
|---|---|
|
A builder for creating a |
|
| Constants | |
|---|---|
| static Int |
The hyphenation is disabled. |
| static Int |
The hyphenation is enabled. |
| static Int |
No hyphenation preference is specified. |
| static Int |
A special value for the line breaking style option. |
| static Int |
The least restrictive line-break rules are used for line breaking. |
| static Int |
No line-break rules are used for line breaking. |
| static Int |
The most common line-break rules are used for line breaking. |
| static Int |
The line break style that used for preventing automatic line breaking. |
| static Int |
The most strict line-break rules are used for line breaking. |
| static Int |
No line break style is specified. |
| static Int |
A special value for the line breaking word style option. |
| static Int |
No line-break word style is used for line breaking. |
| static Int |
Line breaking is based on phrases, which results in text wrapping only on meaningful words. |
| static Int |
No line break word style is specified. |
| Inherited constants | |
|---|---|
| Public methods | |
|---|---|
| Int |
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| Boolean |
Indicates whether some other object is "equal to" this one. |
| Int |
Returns a hyphenation preference. |
| Int |
Gets the current line-break style. |
| Int |
Gets the current line-break word style. |
| Int |
hashCode()Returns a hash code value for the object. |
| LineBreakConfig |
merge(config: LineBreakConfig)Generates a new |
| String |
toString()Returns a string representation of the object. |
| Unit |
writeToParcel(dest: Parcel, flags: Int)Flatten this object in to a Parcel. |
| Properties | |
|---|---|
| static Parcelable.Creator<LineBreakConfig!> | |
Constants
HYPHENATION_DISABLED
static val HYPHENATION_DISABLED: Int
The hyphenation is disabled.
Value: 0HYPHENATION_ENABLED
static val HYPHENATION_ENABLED: Int
The hyphenation is enabled. Note: Even if the hyphenation is enabled with a line break strategy LineBreaker.BREAK_STRATEGY_SIMPLE, the hyphenation will not be performed unless a single word cannot meet width constraints.
Value: 1HYPHENATION_UNSPECIFIED
static val HYPHENATION_UNSPECIFIED: Int
No hyphenation preference is specified.
This is a special value of hyphenation preference indicating no hyphenation preference is specified. When overriding a LineBreakConfig with another LineBreakConfig with Builder.merge(LineBreakConfig) function, the hyphenation preference of overridden config will be kept if the hyphenation preference of overriding config is HYPHENATION_UNSPECIFIED.
val override = LineBreakConfig.Builder() .setLineBreakWordStyle(LineBreakConfig.LINE_BREAK_WORD_STYLE_PHRASE) .build(); // UNSPECIFIED if no setHyphenation is called. val config = LineBreakConfig.Builder() .setHyphenation(LineBreakConfig.HYPHENATION_DISABLED) .merge(override) .build() // Here, config has HYPHENATION_DISABLED for line break config and // LINE_BREAK_WORD_STYLE_PHRASE for line break word style.
This value is resolved to HYPHENATION_ENABLED if this value is used for text layout/rendering.
Value: -1LINE_BREAK_STYLE_AUTO
static val LINE_BREAK_STYLE_AUTO: Int
A special value for the line breaking style option.
The auto option for the line break style set the line break style based on the locale of the text rendering context. You can specify the context locale by android.widget.TextView#setTextLocales(LocaleList) or android.graphics.Paint#setTextLocales(LocaleList).
In the API Build.VERSION_CODES.VANILLA_ICE_CREAM, auto option does followings: - If at least one locale in the locale list contains Japanese script, this option is equivalent to LINE_BREAK_STYLE_STRICT. - Otherwise, this option is equivalent to LINE_BREAK_STYLE_NONE.
Note: future versions may have special line breaking style rules for other locales.
Value: 5LINE_BREAK_STYLE_LOOSE
static val LINE_BREAK_STYLE_LOOSE: Int
The least restrictive line-break rules are used for line breaking. This setting is typically used for short lines.
Value: 1LINE_BREAK_STYLE_NONE
static val LINE_BREAK_STYLE_NONE: Int
No line-break rules are used for line breaking.
Value: 0LINE_BREAK_STYLE_NORMAL
static val LINE_BREAK_STYLE_NORMAL: Int
The most common line-break rules are used for line breaking.
Value: 2LINE_BREAK_STYLE_NO_BREAK
static val LINE_BREAK_STYLE_NO_BREAK: Int
The line break style that used for preventing automatic line breaking. This is useful when you want to preserve some words in the same line by using android.text.style.LineBreakConfigSpan or android.text.style.LineBreakConfigSpan#createNoBreakSpan() as a shorthand. Note that even if this style is specified, the grapheme based line break is still performed for preventing clipping text.
Value: 4LINE_BREAK_STYLE_STRICT
static val LINE_BREAK_STYLE_STRICT: Int
The most strict line-break rules are used for line breaking.
Value: 3LINE_BREAK_STYLE_UNSPECIFIED
static val LINE_BREAK_STYLE_UNSPECIFIED: Int
No line break style is specified.
This is a special value of line break style indicating no style value is specified. When overriding a LineBreakConfig with another LineBreakConfig with Builder.merge(LineBreakConfig) function, the line break style of overridden config will be kept if the line break style of overriding config is LINE_BREAK_STYLE_UNSPECIFIED.
val override = LineBreakConfig.Builder() .setLineBreakWordStyle(LineBreakConfig.LINE_BREAK_WORD_STYLE_PHRASE) .build(); // UNSPECIFIED if no setLineBreakStyle is called. val config = LineBreakConfig.Builder() .setLineBreakStyle(LineBreakConfig.LINE_BREAK_STYLE_STRICT) .merge(override) .build() // Here, config has LINE_BREAK_STYLE_STRICT for line break config and // LINE_BREAK_WORD_STYLE_PHRASE for line break word style.
This value is resolved to LINE_BREAK_STYLE_NONE if the target SDK version is API Build.VERSION_CODES.UPSIDE_DOWN_CAKE or before and this value is used for text layout/rendering. This value is resolved to LINE_BREAK_STYLE_AUTO if the target SDK version is API Build.VERSION_CODES.VANILLA_ICE_CREAM or after and this value is used for text layout/rendering.
Value: -1LINE_BREAK_WORD_STYLE_AUTO
static val LINE_BREAK_WORD_STYLE_AUTO: Int
A special value for the line breaking word style option.
The auto option for the line break word style does some heuristics based on locales and line count.
In the API Build.VERSION_CODES.VANILLA_ICE_CREAM, auto option does followings: - If at least one locale in the locale list contains Korean script, this option is equivalent to LINE_BREAK_WORD_STYLE_PHRASE. - If not, then if at least one locale in the locale list contains Japanese script, this option is equivalent to LINE_BREAK_WORD_STYLE_PHRASE if the result of its line count is less than 5 lines. - Otherwise, this option is equivalent to LINE_BREAK_WORD_STYLE_NONE.
Note: future versions may have special line breaking word style rules for other locales.
Value: 2LINE_BREAK_WORD_STYLE_NONE
static val LINE_BREAK_WORD_STYLE_NONE: Int
No line-break word style is used for line breaking.
Value: 0LINE_BREAK_WORD_STYLE_PHRASE
static val LINE_BREAK_WORD_STYLE_PHRASE: Int
Line breaking is based on phrases, which results in text wrapping only on meaningful words.
Support for this line-break word style depends on locale. If the current locale does not support phrase-based text wrapping, this setting has no effect.
Value: 1LINE_BREAK_WORD_STYLE_UNSPECIFIED
static val LINE_BREAK_WORD_STYLE_UNSPECIFIED: Int
No line break word style is specified. This is a special value of line break word style indicating no style value is specified. When overriding a LineBreakConfig with another LineBreakConfig with Builder.merge(LineBreakConfig) function, the line break word style of overridden config will be kept if the line break word style of overriding config is LINE_BREAK_WORD_STYLE_UNSPECIFIED.
val override = LineBreakConfig.Builder() .setLineBreakStyle(LineBreakConfig.LINE_BREAK_STYLE_STRICT) .build(); // UNSPECIFIED if no setLineBreakWordStyle is called. val config = LineBreakConfig.Builder() .setLineBreakWordStyle(LineBreakConfig.LINE_BREAK_WORD_STYLE_PHRASE) .merge(override) .build() // Here, config has LINE_BREAK_STYLE_STRICT for line break config and // LINE_BREAK_WORD_STYLE_PHRASE for line break word style.
LINE_BREAK_WORD_STYLE_NONE if the target SDK version is API Build.VERSION_CODES.UPSIDE_DOWN_CAKE or before and this value is used for text layout/rendering. This value is resolved to LINE_BREAK_WORD_STYLE_AUTO if the target SDK version is API Build.VERSION_CODES.VANILLA_ICE_CREAM or after and this value is used for text layout/rendering.
Value: -1Public methods
describeContents
fun describeContents(): Int
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel,int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.
| Return | |
|---|---|
Int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or
|
equals
fun equals(other: Any?): Boolean
Indicates whether some other object is "equal to" this one.
The equals method implements an equivalence relation on non-null object references:
- It is reflexive: for any non-null reference value
x,x.equals(x)should returntrue. - It is symmetric: for any non-null reference values
xandy,x.equals(y)should returntrueif and only ify.equals(x)returnstrue. - It is transitive: for any non-null reference values
x,y, andz, ifx.equals(y)returnstrueandy.equals(z)returnstrue, thenx.equals(z)should returntrue. - It is consistent: for any non-null reference values
xandy, multiple invocations ofx.equals(y)consistently returntrueor consistently returnfalse, provided no information used inequalscomparisons on the objects is modified. - For any non-null reference value
x,x.equals(null)should returnfalse.
An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.
| Parameters | |
|---|---|
obj |
the reference object with which to compare. |
| Return | |
|---|---|
Boolean |
true if this object is the same as the obj argument; false otherwise. |
getHyphenation
fun getHyphenation(): Int
Returns a hyphenation preference.
| Return | |
|---|---|
Int |
A hyphenation preference. Value is one of the following: |
getLineBreakStyle
fun getLineBreakStyle(): Int
Gets the current line-break style.
| Return | |
|---|---|
Int |
The line-break style to be used for text wrapping. Value is one of the following: |
getLineBreakWordStyle
fun getLineBreakWordStyle(): Int
Gets the current line-break word style.
| Return | |
|---|---|
Int |
The line-break word style to be used for text wrapping. Value is one of the following: |
hashCode
fun hashCode(): Int
Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.
The general contract of hashCode is:
- Whenever it is invoked on the same object more than once during an execution of a Java application, the
hashCodemethod must consistently return the same integer, provided no information used inequalscomparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. - If two objects are equal according to the
equalsmethod, then calling thehashCodemethod on each of the two objects must produce the same integer result. - It is not required that if two objects are unequal according to the
equalsmethod, then calling thehashCodemethod on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
| Return | |
|---|---|
Int |
a hash code value for this object. |
merge
fun merge(config: LineBreakConfig): LineBreakConfig
Generates a new LineBreakConfig instance merged with given config. If values of passing config are unspecified, the original values are kept. For example, the following code shows how line break config is merged.
val override = LineBreakConfig.Builder() .setLineBreakWordStyle(LineBreakConfig.LINE_BREAK_WORD_STYLE_PHRASE) .build(); // UNSPECIFIED if no setLineBreakStyle is called. val config = LineBreakConfig.Builder() .setLineBreakStyle(LineBreakConfig.LINE_BREAK_STYLE_STRICT) .build(); val newConfig = config.merge(override) // newConfig has LINE_BREAK_STYLE_STRICT of line break style and LINE_BREAK_WORD_STYLE_PHRASE of line break word style.
| Parameters | |
|---|---|
config |
LineBreakConfig: an overriding config. This value cannot be null. |
| Return | |
|---|---|
LineBreakConfig |
newly created instance that is current style merged with passed config. This value cannot be null. |
toString
fun toString(): String
Returns a string representation of the object.
| Return | |
|---|---|
String |
a string representation of the object. |
writeToParcel
fun writeToParcel(
dest: Parcel,
flags: Int
): Unit
Flatten this object in to a Parcel.
| Parameters | |
|---|---|
dest |
Parcel: This value cannot be null. |
flags |
Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of the following:
|