androidx.compose.ui.autofill

Interfaces

Autofill

This interface is deprecated. You no longer have to call these apis when focus changes.

Cmn
ContentDataType

Content data type information.

Cmn
android
ContentType

Content type information.

Cmn
android

Classes

AutofillManager

Autofill API.

Cmn
AutofillNode

This class is deprecated. Use the new semantics-based Autofill APIs androidx.compose.ui.autofill.ContentType and androidx.compose.ui.autofill.ContentDataType instead.

Cmn
AutofillTree

This class is deprecated. Use the new semantics-based Autofill APIs androidx.compose.ui.autofill.ContentType and androidx.compose.ui.autofill.ContentDataType instead.

Cmn

Enums

AutofillType

This enum is deprecated. Use the new semantics-based API and androidx.compose.ui.autofill.ContentType instead.

Cmn

Top-level functions summary

ContentDataType
ContentDataType(dataType: Int)
android
ContentType
ContentType(contentHint: String)

Create a custom ContentType with contentHint.

android

Extension functions summary

Modifier

Set autofill hint with contentType.

Cmn

Extension properties summary

Top-level functions

ContentDataType

fun ContentDataType(dataType: Int): ContentDataType

ContentType

fun ContentType(contentHint: String): ContentType

Create a custom ContentType with contentHint.

This creates a ContentType with the parameter contentHint passed in. This API can be used if the Autofill hint is not present in the list of contentTypes provided by Compose.

For example, ContentType(androidx.autofill.HintConstants.AUTOFILL_HINT_FLIGHT_CONFIRMATION_CODE) can be used to create a new flight confirmation code hint.

Extension functions

contentType

fun Modifier.contentType(contentType: ContentType): Modifier

Set autofill hint with contentType.

This applies the contentType to the modifier's semantics, in turn enabling autofill and marking the hint to be associated with this composable. This allows autofill frameworks to provide relevant suggestions to users.

Using contentType is equivalent to simply setting the contentType semantic property, i.e. Modifier.contentType(ContentType.NewUsername) is equivalent to setting Modifier.semantics { contentType = ContentType.NewUsername }.

import androidx.compose.foundation.text.input.rememberTextFieldState
import androidx.compose.material.Text
import androidx.compose.material.TextField
import androidx.compose.ui.Modifier
import androidx.compose.ui.autofill.ContentType
import androidx.compose.ui.autofill.contentType
import androidx.compose.ui.semantics.contentType

TextField(
    state = rememberTextFieldState(),
    label = { Text("Enter your new username here.") },
    // Set the content type hint with the modifier extension.
    modifier = Modifier.contentType(ContentType.NewUsername)
)
import androidx.compose.foundation.text.input.rememberTextFieldState
import androidx.compose.material.Text
import androidx.compose.material.TextField
import androidx.compose.ui.Modifier
import androidx.compose.ui.autofill.ContentType
import androidx.compose.ui.autofill.contentType
import androidx.compose.ui.semantics.contentType
import androidx.compose.ui.semantics.semantics

TextField(
    state = rememberTextFieldState(),
    label = { Text("Enter your new password here.") },
    // Set the content type hint with semantics.
    modifier = Modifier.semantics { contentType = ContentType.NewPassword }
)
Parameters
contentType: ContentType

The ContentType to apply to the component's semantics.

Returns
Modifier

The Modifier with the specified ContentType semantics set.

Extension properties

dataType

val ContentDataType.dataTypeInt