{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}

FocusPropertiesKt

public final class FocusPropertiesKt


Summary

Public methods

static final @NonNull Modifier
focusProperties(
    @NonNull Modifier receiver,
    @ExtensionFunctionType @NonNull Function1<@NonNull FocusPropertiesUnit> scope
)

This modifier allows you to specify properties that are accessible to focusTargets further down the modifier chain or on child layout nodes.

Public methods

focusProperties

public static final @NonNull Modifier focusProperties(
    @NonNull Modifier receiver,
    @ExtensionFunctionType @NonNull Function1<@NonNull FocusPropertiesUnit> scope
)

This modifier allows you to specify properties that are accessible to focusTargets further down the modifier chain or on child layout nodes.

import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.focusProperties
import androidx.compose.ui.focus.focusTarget
import androidx.compose.ui.input.InputMode.Companion.Touch
import androidx.compose.ui.platform.LocalInputModeManager

Column {
    // Always focusable.
    Box(modifier = Modifier
        .focusProperties { canFocus = true }
        .focusTarget()
    )
    // Only focusable in non-touch mode.
    val inputModeManager = LocalInputModeManager.current
    Box(modifier = Modifier
        .focusProperties { canFocus = inputModeManager.inputMode != Touch }
        .focusTarget()
    )
}