# FocusTargetModifierNode

Artifact: [androidx.compose.ui:ui](https://developer.android.com/jetpack/androidx/releases/compose-ui) [View Source](https://cs.android.com/search?q=file:androidx/compose/ui/focus/FocusTargetModifierNode.kt+class:androidx.compose.ui.focus.FocusTargetModifierNode) Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.4.0) Common/All
- Cmn

  ```
  sealed interface FocusTargetModifierNode : DelegatableNode
  ```

*** ** * ** ***

This modifier node can be delegated to in order to create a modifier that makes a component focusable.

## Summary

| ### Public functions |
|---|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusTargetModifierNode#requestFocus(androidx.compose.ui.focus.FocusDirection)(focusDirection: https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection)` Request focus for this node. | Cmn |

| ### Public properties |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusState` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusTargetModifierNode#focusState()` The `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusState` associated with this `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusTargetModifierNode`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/Focusability` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusTargetModifierNode#focusability()` The `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/Focusability` for this node. | Cmn |

| ### Extension functions |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/Rect?` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusTargetModifierNode.https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusTargetModifierNode#(androidx.compose.ui.focus.FocusTargetModifierNode).getFocusedRect()()` Calculates the rectangular area in this node's coordinates that corresponds to the focus area of the focused node under this `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusTargetModifierNode`, including itself. | Cmn |

### Inherited functions

From [androidx.compose.ui.node.DelegatableNode](https://developer.android.com/reference/kotlin/androidx/compose/ui/node/DelegatableNode) `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `@https://developer.android.com/reference/kotlin/androidx/annotation/EmptySuper
https://developer.android.com/reference/kotlin/androidx/compose/ui/node/DelegatableNode#onDensityChange()()`

Invoked when the density changes for this node.
Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `@https://developer.android.com/reference/kotlin/androidx/annotation/EmptySuper
https://developer.android.com/reference/kotlin/androidx/compose/ui/node/DelegatableNode#onLayoutDirectionChange()()`

Invoked when the layout direction changes for this node.
Cmn

### Inherited properties

From [androidx.compose.ui.node.DelegatableNode](https://developer.android.com/reference/kotlin/androidx/compose/ui/node/DelegatableNode) `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.Node` `https://developer.android.com/reference/kotlin/androidx/compose/ui/node/DelegatableNode#node()`

A reference of the `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.Node` that holds this node's position in the node hierarchy.
Cmn

## Public functions

### requestFocus

Cmn Added in [1.10.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.10.0)

```
fun requestFocus(focusDirection: FocusDirection = FocusDirection.Enter): Boolean
```

Request focus for this node.

| Parameters |
|---|---|
| `focusDirection: https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection = FocusDirection.Enter` | The direction from which the focus is being requested |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | true if focus was successfully requested |

## Public properties

### focusState

Cmn Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.4.0)

```
val focusState: FocusState
```

The `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusState` associated with this `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusTargetModifierNode`. When you delegate to a `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusTargetModifierNode`, instead of implementing `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusEventModifierNode`, you can get the state by accessing this variable.

### focusability

Cmn Added in [1.8.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.8.0)

```
var focusability: Focusability
```

The `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/Focusability` for this node.

Note that parent `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusPropertiesModifierNode`s that set `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusProperties#canFocus()` take priority over this property.

If the current focus state would be affected by a new focusability, focus will be invalidated as needed.

## Extension functions

### FocusTargetModifierNode.getFocusedRect

Cmn Artifact: [androidx.compose.ui:ui](https://developer.android.com/jetpack/androidx/releases/compose-ui) [View Source](https://cs.android.com/search?q=file:androidx/compose/ui/focus/FocusTargetModifierNode.kt+function:getFocusedRect)

```
fun FocusTargetModifierNode.getFocusedRect(): Rect?
```

Calculates the rectangular area in this node's coordinates that corresponds to the focus area of the focused node under this `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusTargetModifierNode`, including itself.

This function returns `null` when;

- This node is not focused and there is no focused descendant.

- This node is detached from the composition hierarchy.