FocusState
Interface
Common
interface FocusState
The focus state of a FocusTargetNode. Use onFocusChanged or onFocusEvent modifiers to
access FocusState.
Properties
Common
val isFocused: Boolean
Whether the component is focused or not.
Returns
| true if the component is focused, false otherwise. |
Common
val hasFocus: Boolean
Whether the focus modifier associated with this FocusState has a child that is focused.
Returns
| true if a child is focused, false otherwise. |
Common
val isCaptured: Boolean
Whether focus is captured or not. A focusable component is in a captured state when it wants to hold onto focus. (Eg. when a text field has an invalid phone number). When we are in a captured state, clicking on other focusable items does not clear focus from the currently focused item.
You can capture focus by calling focusRequester.captureFocus() and free focus
by calling focusRequester.freeFocus().
Returns
| true if focus is captured, false otherwise. |
Code Examples
FocusableSample
@Composable
fun FocusableSample() {
var color by remember { mutableStateOf(Black) }
Box(
Modifier.border(2.dp, color)
// The onFocusChanged should be added BEFORE the focusable that is being observed.
.onFocusChanged { color = if (it.isFocused) Green else Black }
.focusable()
)
}
