# LineBreakConfig

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Nested Classes](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#nestedclasses)\|[Constants](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#constants)\|[Inherited Constants](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#inhconstants)\|[Fields](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#lfields)\|[Methods](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#inhmethods)  

# LineBreakConfig

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/graphics/text/LineBreakConfig "View this page in Kotlin")\|Java

`
public

final

class
LineBreakConfig
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


implements

`[Parcelable](https://developer.android.com/reference/android/os/Parcelable)`


`

|---|---------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.graphics.text.LineBreakConfig |

<br />

*** ** * ** ***

Specifies the line-break strategies for text wrapping.

See the[line-break property](https://www.w3.org/TR/css-text-3/#line-break-property)for more information.

## Summary

|                                                                              ### Nested classes                                                                               ||
|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` class` | [LineBreakConfig.Builder](https://developer.android.com/reference/android/graphics/text/LineBreakConfig.Builder) A builder for creating a`LineBreakConfig`instance. |

|                                                                                                                 ### Constants                                                                                                                 ||
|-------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | [HYPHENATION_DISABLED](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#HYPHENATION_DISABLED) The hyphenation is disabled.                                                                                |
| `int` | [HYPHENATION_ENABLED](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#HYPHENATION_ENABLED) The hyphenation is enabled.                                                                                   |
| `int` | [HYPHENATION_UNSPECIFIED](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#HYPHENATION_UNSPECIFIED) No hyphenation preference is specified.                                                               |
| `int` | [LINE_BREAK_STYLE_AUTO](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_AUTO) A special value for the line breaking style option.                                                       |
| `int` | [LINE_BREAK_STYLE_LOOSE](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_LOOSE) The least restrictive line-break rules are used for line breaking.                                      |
| `int` | [LINE_BREAK_STYLE_NONE](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_NONE) No line-break rules are used for line breaking.                                                           |
| `int` | [LINE_BREAK_STYLE_NORMAL](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_NORMAL) The most common line-break rules are used for line breaking.                                          |
| `int` | [LINE_BREAK_STYLE_NO_BREAK](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_NO_BREAK) The line break style that used for preventing automatic line breaking.                            |
| `int` | [LINE_BREAK_STYLE_STRICT](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_STRICT) The most strict line-break rules are used for line breaking.                                          |
| `int` | [LINE_BREAK_STYLE_UNSPECIFIED](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_UNSPECIFIED) No line break style is specified.                                                           |
| `int` | [LINE_BREAK_WORD_STYLE_AUTO](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_WORD_STYLE_AUTO) A special value for the line breaking word style option.                                        |
| `int` | [LINE_BREAK_WORD_STYLE_NONE](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_WORD_STYLE_NONE) No line-break word style is used for line breaking.                                             |
| `int` | [LINE_BREAK_WORD_STYLE_PHRASE](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_WORD_STYLE_PHRASE) Line breaking is based on phrases, which results in text wrapping only on meaningful words. |
| `int` | [LINE_BREAK_WORD_STYLE_UNSPECIFIED](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_WORD_STYLE_UNSPECIFIED) No line break word style is specified.                                            |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ### Inherited constants                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| From interface[android.os.Parcelable](https://developer.android.com/reference/android/os/Parcelable) |-------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `int` | [CONTENTS_FILE_DESCRIPTOR](https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR) Descriptor bit used with[describeContents()](https://developer.android.com/reference/android/os/Parcelable#describeContents()): indicates that the Parcelable object's flattened representation includes a file descriptor.                                                                                                                                            | | `int` | [PARCELABLE_WRITE_RETURN_VALUE](https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE) Flag for use with[writeToParcel(Parcel, int)](https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)): the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`". | |

|                                                                                                                                                       ### Fields                                                                                                                                                       ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|
| ` public static final `[Creator](https://developer.android.com/reference/android/os/Parcelable.Creator)`<`[LineBreakConfig](https://developer.android.com/reference/android/graphics/text/LineBreakConfig)`>` | [CREATOR](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#CREATOR) <br /> |

|                                                                                                                                                                                                                                              ### Public methods                                                                                                                                                                                                                                              ||
|-----------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` int`                                                                                              | ` `[describeContents](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#describeContents())`() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.                                                                                                                                                                    |
| ` boolean`                                                                                          | ` `[equals](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` o) ` Indicates whether some other object is "equal to" this one.                                                                                                                                              |
| ` int`                                                                                              | ` `[getHyphenation](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#getHyphenation())`() ` Returns a hyphenation preference.                                                                                                                                                                                                                                              |
| ` int`                                                                                              | ` `[getLineBreakStyle](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#getLineBreakStyle())`() ` Gets the current line-break style.                                                                                                                                                                                                                                       |
| ` int`                                                                                              | ` `[getLineBreakWordStyle](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#getLineBreakWordStyle())`() ` Gets the current line-break word style.                                                                                                                                                                                                                          |
| ` int`                                                                                              | ` `[hashCode](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                                                                                                                  |
| ` `[LineBreakConfig](https://developer.android.com/reference/android/graphics/text/LineBreakConfig) | ` `[merge](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#merge(android.graphics.text.LineBreakConfig))`(`[LineBreakConfig](https://developer.android.com/reference/android/graphics/text/LineBreakConfig)` config) ` Generates a new[LineBreakConfig](https://developer.android.com/reference/android/graphics/text/LineBreakConfig)instance merged with given`config`. |
| ` `[String](https://developer.android.com/reference/java/lang/String)                               | ` `[toString](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#toString())`() ` Returns a string representation of the object.                                                                                                                                                                                                                                             |
| ` void`                                                                                             | ` `[writeToParcel](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#writeToParcel(android.os.Parcel,%20int))`(`[Parcel](https://developer.android.com/reference/android/os/Parcel)` dest, int flags) ` Flatten this object in to a Parcel.                                                                                                                                 |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||
| From interface` `[android.os.Parcelable](https://developer.android.com/reference/android/os/Parcelable)` ` |------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract int`  | ` `[describeContents](https://developer.android.com/reference/android/os/Parcelable#describeContents())`() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.                                    | | ` abstract void` | ` `[writeToParcel](https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int))`(`[Parcel](https://developer.android.com/reference/android/os/Parcel)` dest, int flags) ` Flatten this object in to a Parcel. | ||

## Constants

### HYPHENATION_DISABLED

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int HYPHENATION_DISABLED
```

The hyphenation is disabled.

<br />

Constant Value: 0 (0x00000000)  

### HYPHENATION_ENABLED

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int HYPHENATION_ENABLED
```

The hyphenation is enabled. Note: Even if the hyphenation is enabled with a line break strategy[LineBreaker.BREAK_STRATEGY_SIMPLE](https://developer.android.com/reference/android/graphics/text/LineBreaker#BREAK_STRATEGY_SIMPLE), the hyphenation will not be performed unless a single word cannot meet width constraints.

<br />

Constant Value: 1 (0x00000001)  

### HYPHENATION_UNSPECIFIED

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int HYPHENATION_UNSPECIFIED
```

No hyphenation preference is specified.

This is a special value of hyphenation preference indicating no hyphenation preference is specified. When overriding a[LineBreakConfig](https://developer.android.com/reference/android/graphics/text/LineBreakConfig)with another[LineBreakConfig](https://developer.android.com/reference/android/graphics/text/LineBreakConfig)with[Builder.merge(LineBreakConfig)](https://developer.android.com/reference/android/graphics/text/LineBreakConfig.Builder#merge(android.graphics.text.LineBreakConfig))function, the hyphenation preference of overridden config will be kept if the hyphenation preference of overriding config is[HYPHENATION_UNSPECIFIED](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#HYPHENATION_UNSPECIFIED).

<br />

```
     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](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#HYPHENATION_ENABLED)if this value is used for text layout/rendering.

<br />

Constant Value: -1 (0xffffffff)  

### LINE_BREAK_STYLE_AUTO

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int LINE_BREAK_STYLE_AUTO
```

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[TextView.setTextLocales(LocaleList)](https://developer.android.com/reference/android/widget/TextView#setTextLocales(android.os.LocaleList))or[Paint.setTextLocales(LocaleList)](https://developer.android.com/reference/android/graphics/Paint#setTextLocales(android.os.LocaleList)).

In the API[Build.VERSION_CODES.VANILLA_ICE_CREAM](https://developer.android.com/reference/android/os/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](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_STRICT). - Otherwise, this option is equivalent to[LINE_BREAK_STYLE_NONE](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_NONE).

Note: future versions may have special line breaking style rules for other locales.

<br />

Constant Value: 5 (0x00000005)  

### LINE_BREAK_STYLE_LOOSE

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int LINE_BREAK_STYLE_LOOSE
```

The least restrictive line-break rules are used for line breaking. This setting is typically used for short lines.

<br />

Constant Value: 1 (0x00000001)  

### LINE_BREAK_STYLE_NONE

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int LINE_BREAK_STYLE_NONE
```

No line-break rules are used for line breaking.

<br />

Constant Value: 0 (0x00000000)  

### LINE_BREAK_STYLE_NORMAL

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int LINE_BREAK_STYLE_NORMAL
```

The most common line-break rules are used for line breaking.

<br />

Constant Value: 2 (0x00000002)  

### LINE_BREAK_STYLE_NO_BREAK

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int LINE_BREAK_STYLE_NO_BREAK
```

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[LineBreakConfigSpan](https://developer.android.com/reference/android/text/style/LineBreakConfigSpan)or[LineBreakConfigSpan.createNoBreakSpan()](https://developer.android.com/reference/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.

<br />

**See also:**

- [LineBreakConfigSpan](https://developer.android.com/reference/android/text/style/LineBreakConfigSpan)
- [LineBreakConfigSpan.createNoBreakSpan()](https://developer.android.com/reference/android/text/style/LineBreakConfigSpan#createNoBreakSpan())

Constant Value: 4 (0x00000004)  

### LINE_BREAK_STYLE_STRICT

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int LINE_BREAK_STYLE_STRICT
```

The most strict line-break rules are used for line breaking.

<br />

Constant Value: 3 (0x00000003)  

### LINE_BREAK_STYLE_UNSPECIFIED

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int LINE_BREAK_STYLE_UNSPECIFIED
```

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](https://developer.android.com/reference/android/graphics/text/LineBreakConfig)with another[LineBreakConfig](https://developer.android.com/reference/android/graphics/text/LineBreakConfig)with[Builder.merge(LineBreakConfig)](https://developer.android.com/reference/android/graphics/text/LineBreakConfig.Builder#merge(android.graphics.text.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](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#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](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_NONE)if the target SDK version is API[Build.VERSION_CODES.UPSIDE_DOWN_CAKE](https://developer.android.com/reference/android/os/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](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_AUTO)if the target SDK version is API[Build.VERSION_CODES.VANILLA_ICE_CREAM](https://developer.android.com/reference/android/os/Build.VERSION_CODES#VANILLA_ICE_CREAM)or after and this value is used for text layout/rendering.

<br />

Constant Value: -1 (0xffffffff)  

### LINE_BREAK_WORD_STYLE_AUTO

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int LINE_BREAK_WORD_STYLE_AUTO
```

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](https://developer.android.com/reference/android/os/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](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#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](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#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](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_WORD_STYLE_NONE).

Note: future versions may have special line breaking word style rules for other locales.

<br />

Constant Value: 2 (0x00000002)  

### LINE_BREAK_WORD_STYLE_NONE

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int LINE_BREAK_WORD_STYLE_NONE
```

No line-break word style is used for line breaking.

<br />

Constant Value: 0 (0x00000000)  

### LINE_BREAK_WORD_STYLE_PHRASE

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int LINE_BREAK_WORD_STYLE_PHRASE
```

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.

<br />

Constant Value: 1 (0x00000001)  

### LINE_BREAK_WORD_STYLE_UNSPECIFIED

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final int LINE_BREAK_WORD_STYLE_UNSPECIFIED
```

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](https://developer.android.com/reference/android/graphics/text/LineBreakConfig)with another[LineBreakConfig](https://developer.android.com/reference/android/graphics/text/LineBreakConfig)with[Builder.merge(LineBreakConfig)](https://developer.android.com/reference/android/graphics/text/LineBreakConfig.Builder#merge(android.graphics.text.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](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#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.
 
```
This value is resolved to[LINE_BREAK_WORD_STYLE_NONE](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_WORD_STYLE_NONE)if the target SDK version is API[Build.VERSION_CODES.UPSIDE_DOWN_CAKE](https://developer.android.com/reference/android/os/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](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_WORD_STYLE_AUTO)if the target SDK version is API[Build.VERSION_CODES.VANILLA_ICE_CREAM](https://developer.android.com/reference/android/os/Build.VERSION_CODES#VANILLA_ICE_CREAM)or after and this value is used for text layout/rendering.

<br />

<br />

Constant Value: -1 (0xffffffff)

## Fields

### CREATOR

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final Creator<LineBreakConfig> CREATOR
```

<br />

<br />

## Public methods

### describeContents

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int describeContents ()
```

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)](https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)), the return value of this method must include the[CONTENTS_FILE_DESCRIPTOR](https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR)bit.

<br />

|                                                                                                                         Returns                                                                                                                         ||
|-------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either`0`or[CONTENTS_FILE_DESCRIPTOR](https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR) <br /> |

### equals

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public boolean equals (Object o)
```

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 return`true`.
- It is*symmetric* : for any non-null reference values`x`and`y`,`x.equals(y)`should return`true`if and only if`y.equals(x)`returns`true`.
- It is*transitive* : for any non-null reference values`x`,`y`, and`z`, if`x.equals(y)`returns`true`and`y.equals(z)`returns`true`, then`x.equals(z)`should return`true`.
- It is*consistent* : for any non-null reference values`x`and`y`, multiple invocations of`x.equals(y)`consistently return`true`or consistently return`false`, provided no information used in`equals`comparisons on the objects is modified.
- For any non-null reference value`x`,`x.equals(null)`should return`false`.

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.

<br />

|                            Parameters                             ||
|-----|--------------------------------------------------------------|
| `o` | `Object`: the reference object with which to compare. <br /> |

|                                         Returns                                          ||
|-----------|-------------------------------------------------------------------------------|
| `boolean` | `true`if this object is the same as the obj argument;`false`otherwise. <br /> |

### getHyphenation

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int getHyphenation ()
```

Returns a hyphenation preference.

<br />

|                                                                                                                                                                                                                 Returns                                                                                                                                                                                                                 ||
|-------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | A hyphenation preference. Value is[HYPHENATION_UNSPECIFIED](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#HYPHENATION_UNSPECIFIED),[HYPHENATION_ENABLED](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#HYPHENATION_ENABLED), or[HYPHENATION_DISABLED](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#HYPHENATION_DISABLED) <br /> |

### getLineBreakStyle

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int getLineBreakStyle ()
```

Gets the current line-break style.

<br />

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Returns                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ||
|-------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | The line-break style to be used for text wrapping. Value is[LINE_BREAK_STYLE_NONE](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_NONE),[LINE_BREAK_STYLE_LOOSE](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_LOOSE),[LINE_BREAK_STYLE_NORMAL](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_NORMAL),[LINE_BREAK_STYLE_STRICT](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_STRICT),[LINE_BREAK_STYLE_UNSPECIFIED](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_UNSPECIFIED),[LINE_BREAK_STYLE_NO_BREAK](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_NO_BREAK), or[LINE_BREAK_STYLE_AUTO](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_STYLE_AUTO) <br /> |

### getLineBreakWordStyle

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int getLineBreakWordStyle ()
```

Gets the current line-break word style.

<br />

|                                                                                                                                                                                                                                                                                                                            Returns                                                                                                                                                                                                                                                                                                                             ||
|-------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | The line-break word style to be used for text wrapping. Value is[LINE_BREAK_WORD_STYLE_NONE](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_WORD_STYLE_NONE),[LINE_BREAK_WORD_STYLE_PHRASE](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_WORD_STYLE_PHRASE),[LINE_BREAK_WORD_STYLE_UNSPECIFIED](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_WORD_STYLE_UNSPECIFIED), or[LINE_BREAK_WORD_STYLE_AUTO](https://developer.android.com/reference/android/graphics/text/LineBreakConfig#LINE_BREAK_WORD_STYLE_AUTO) <br /> |

### hashCode

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public int hashCode ()
```

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by[HashMap](https://developer.android.com/reference/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`hashCode`method must consistently return the same integer, provided no information used in`equals`comparisons 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[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))method, then calling the`hashCode`method 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[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))method, then calling the`hashCode`method 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.

<br />

<br />

|                     Returns                      ||
|-------|-------------------------------------------|
| `int` | a hash code value for this object. <br /> |

### merge

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public LineBreakConfig merge (LineBreakConfig config)
```

Generates a new[LineBreakConfig](https://developer.android.com/reference/android/graphics/text/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.
 
```

<br />

<br />

|                                      Parameters                                       ||
|----------|-----------------------------------------------------------------------------|
| `config` | `LineBreakConfig`: an overriding config. This value cannot be`null`. <br /> |

|                                                                                                   Returns                                                                                                    ||
|--------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|
| [LineBreakConfig](https://developer.android.com/reference/android/graphics/text/LineBreakConfig) | newly created instance that is current style merged with passed config. This value cannot be`null`. <br /> |

### toString

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public String toString ()
```

Returns a string representation of the object.

<br />

|                                                      Returns                                                      ||
|--------------------------------------------------------------------|-----------------------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | a string representation of the object. <br /> |

### writeToParcel

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void writeToParcel (Parcel dest, 
                int flags)
```

Flatten this object in to a Parcel.

<br />

|                                                                                                                                                                                                                               Parameters                                                                                                                                                                                                                                ||
|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `dest`  | `Parcel`: This value cannot be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `flags` | `int`: Additional flags about how the object should be written. May be 0 or[Parcelable.PARCELABLE_WRITE_RETURN_VALUE](https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE). Value is either`0`or a combination of[Parcelable.PARCELABLE_WRITE_RETURN_VALUE](https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE), and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES <br /> |