Compose Modifier

focusable

Configure component to be focusable via focus system or accessibility "focus" event.

FocusableSample

@Sampled
@Composable
fun FocusableSample() {
    // initialize focus reference to be able to request focus programmatically
    val focusRequester = remember { FocusRequester() }
    // MutableInteractionSource to track changes of the component's interactions (like "focused")
    val interactionSource = remember { MutableInteractionSource() }

    // text below will change when we focus it via button click
    val isFocused = interactionSource.collectIsFocusedAsState().value
    val text =
        if (isFocused) {
            "Focused! tap anywhere to free the focus"
        } else {
            "Bring focus to me by tapping the button below!"
        }
    Column {
        // this Text will change it's text parameter depending on the presence of a focus
        Text(
            text = text,
            modifier =
                Modifier
                    // add focusRequester modifier before the focusable (or even in the parent)
                    .focusRequester(focusRequester)
                    .focusable(interactionSource = interactionSource),
        )
        Button(onClick = { focusRequester.requestFocus() }) {
            Text("Bring focus to the text above")
        }
    }
}
Jetpack Compose beyond MaterialFree components, screens and templates for apps that don’t look like Google’s. Copy them into your app, or let your coding agent add them.Browse for free

Content updated: