---
title: "ImeOptions"
description: "The IME configuration options for [TextInputService]. It is not guaranteed if IME will comply
with the options provided here."
type: "class"
---

<div class='type'>Class</div>


<a id='references'></a>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
class ImeOptions(
    val singleLine: Boolean = false,
    val capitalization: KeyboardCapitalization = KeyboardCapitalization.None,
    val autoCorrect: Boolean = true,
    val keyboardType: KeyboardType = KeyboardType.Text,
    val imeAction: ImeAction = ImeAction.Default,
    val platformImeOptions: PlatformImeOptions? = null,
    val hintLocales: LocaleList = LocaleList.Empty,
)
```


The IME configuration options for `TextInputService`. It is not guaranteed if IME will comply
with the options provided here.

#### Parameters

| | |
| --- | --- |
| singleLine | informs the IME that the text field is single line and IME should not show return key. |
| capitalization | informs the IME whether to automatically capitalize characters, words or sentences. Only applicable to only text based `KeyboardType`s such as `KeyboardType.Text`, `KeyboardType.Ascii`. It will not be applied to `KeyboardType`s such as `KeyboardType.Number` or `KeyboardType.Decimal`. |
| autoCorrect | informs the IME whether to enable auto correct. Only applicable to text based `KeyboardType`s such as `KeyboardType.Email`, `KeyboardType.Uri`. It will not be applied to `KeyboardType`s such as `KeyboardType.Number` or `KeyboardType.Decimal`. Most of IME implementations ignore this value for `KeyboardType`s such as `KeyboardType.Text`. |
| keyboardType | The keyboard type to be used in this text field. Note that this input type is honored by IME and shows corresponding keyboard but this is not guaranteed. For example, some IME may send non-ASCII character even if you set `KeyboardType.Ascii`. |
| imeAction | The IME action. This IME action is honored by IME and may show specific icons on the keyboard. For example, search icon may be shown if `ImeAction.Search` is specified. When `singleLine` is false, the IME might show return key rather than the action requested here. |
| platformImeOptions | defines the platform specific IME options. |
| hintLocales | List of the languages that the user is supposed to switch to no matter what input method subtype is currently used. This special "hint" can be used mainly for, but not limited to, multilingual users who want IMEs to switch language based on editor's context. Pass `LocaleList.Empty` to express the intention that a specific hint should not be set. |



## Secondary Constructors

```kotlin
constructor(
    singleLine: Boolean = false,
    capitalization: KeyboardCapitalization = KeyboardCapitalization.None,
    autoCorrect: Boolean = true,
    keyboardType: KeyboardType = KeyboardType.Text,
    imeAction: ImeAction = ImeAction.Default,
    platformImeOptions: PlatformImeOptions? = null,
) : this(
    singleLine = singleLine,
    capitalization = capitalization,
    autoCorrect = autoCorrect,
    keyboardType = keyboardType,
    imeAction = imeAction,
    platformImeOptions = platformImeOptions,
    hintLocales = LocaleList.Empty,
)
```

```kotlin
constructor(
    singleLine: Boolean = false,
    capitalization: KeyboardCapitalization = KeyboardCapitalization.None,
    autoCorrect: Boolean = true,
    keyboardType: KeyboardType = KeyboardType.Text,
    imeAction: ImeAction = ImeAction.Default,
) : this(
    singleLine = singleLine,
    capitalization = capitalization,
    autoCorrect = autoCorrect,
    keyboardType = keyboardType,
    imeAction = imeAction,
    platformImeOptions = null,
)
```

## Functions

```kotlin
fun copy(
        singleLine: Boolean = this.singleLine,
        capitalization: KeyboardCapitalization = this.capitalization,
        autoCorrect: Boolean = this.autoCorrect,
        keyboardType: KeyboardType = this.keyboardType,
        imeAction: ImeAction = this.imeAction,
        platformImeOptions: PlatformImeOptions? = this.platformImeOptions,
        hintLocales: LocaleList = this.hintLocales,
    ): ImeOptions
```

```kotlin
fun copy(
        singleLine: Boolean = this.singleLine,
        capitalization: KeyboardCapitalization = this.capitalization,
        autoCorrect: Boolean = this.autoCorrect,
        keyboardType: KeyboardType = this.keyboardType,
        imeAction: ImeAction = this.imeAction,
        platformImeOptions: PlatformImeOptions? = this.platformImeOptions,
    ): ImeOptions
```

```kotlin
fun copy(
        singleLine: Boolean = this.singleLine,
        capitalization: KeyboardCapitalization = this.capitalization,
        autoCorrect: Boolean = this.autoCorrect,
        keyboardType: KeyboardType = this.keyboardType,
        imeAction: ImeAction = this.imeAction,
    ): ImeOptions
```

## Companion Object

#### Properties

<div class='sourceset sourceset-common'>Common</div>


```kotlin
val Default = ImeOptions()
```


Default `ImeOptions`. Please see parameter descriptions for default values.





