# FocusDirection

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/FocusDirection.kt+class:androidx.compose.ui.focus.FocusDirection) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.0.0) Common/All
- Cmn

  ```
  value class FocusDirection
  ```

*** ** * ** ***

The `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection` is used to specify the direction for a `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` request.

```kotlin
import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusDirection
import androidx.compose.ui.platform.LocalFocusManager

val focusManager = LocalFocusManager.current
Column {
    Row {
        Box(Modifier.focusable())
        Box(Modifier.focusable())
    }
    Row {
        Box(Modifier.focusable())
        Box(Modifier.focusable())
    }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Right) }) { Text("Right") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Left) }) { Text("Left") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Up) }) { Text("Up") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Down) }) { Text("Down") }
}
```

## Summary

| ### Public companion properties |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection#Down()` Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you are searching for the next focusable item that is below the currently focused item. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection#Enter()` Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you are searching for the next focusable item that is a child of the currently focused item. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection#Exit()` Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you want to move focus to the parent of the currently focused item. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection#Left()` Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you are searching for the next focusable item to the left of the currently focused item. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection#Next()` Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you are searching for the next focusable item. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection#Previous()` Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you are searching for the previous focusable item. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection#Right()` Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you are searching for the next focusable item to the right of the currently focused item. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection#Up()` Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you are searching for the next focusable item that is above the currently focused item. | Cmn |

| ### Public functions |
|---|---|---|
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusDirection#toString()()` | Cmn |

## Public companion properties

### Down

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

```
val Down: FocusDirection
```

Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you are searching for the next focusable item that is below the currently focused item.

```kotlin
import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusDirection
import androidx.compose.ui.platform.LocalFocusManager

val focusManager = LocalFocusManager.current
Column {
    Row {
        Box(Modifier.focusable())
        Box(Modifier.focusable())
    }
    Row {
        Box(Modifier.focusable())
        Box(Modifier.focusable())
    }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Right) }) { Text("Right") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Left) }) { Text("Left") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Up) }) { Text("Up") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Down) }) { Text("Down") }
}
```

### Enter

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

```
val Enter: FocusDirection
```

Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you are searching for the next focusable item that is a child of the currently focused item.

### Exit

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

```
val Exit: FocusDirection
```

Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you want to move focus to the parent of the currently focused item.

### Left

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

```
val Left: FocusDirection
```

Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you are searching for the next focusable item to the left of the currently focused item.

```kotlin
import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusDirection
import androidx.compose.ui.platform.LocalFocusManager

val focusManager = LocalFocusManager.current
Column {
    Row {
        Box(Modifier.focusable())
        Box(Modifier.focusable())
    }
    Row {
        Box(Modifier.focusable())
        Box(Modifier.focusable())
    }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Right) }) { Text("Right") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Left) }) { Text("Left") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Up) }) { Text("Up") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Down) }) { Text("Down") }
}
```

### Next

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

```
val Next: FocusDirection
```

Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you are searching for the next focusable item.

```kotlin
import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusDirection
import androidx.compose.ui.platform.LocalFocusManager

val focusManager = LocalFocusManager.current
Column {
    Row {
        Box(Modifier.focusable())
        Box(Modifier.focusable())
    }
    Row {
        Box(Modifier.focusable())
        Box(Modifier.focusable())
    }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Right) }) { Text("Right") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Left) }) { Text("Left") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Up) }) { Text("Up") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Down) }) { Text("Down") }
}
```

### Previous

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

```
val Previous: FocusDirection
```

Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you are searching for the previous focusable item.

```kotlin
import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusDirection
import androidx.compose.ui.platform.LocalFocusManager

val focusManager = LocalFocusManager.current
Column {
    Row {
        Box(Modifier.focusable())
        Box(Modifier.focusable())
    }
    Row {
        Box(Modifier.focusable())
        Box(Modifier.focusable())
    }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Right) }) { Text("Right") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Left) }) { Text("Left") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Up) }) { Text("Up") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Down) }) { Text("Down") }
}
```

### Right

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

```
val Right: FocusDirection
```

Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you are searching for the next focusable item to the right of the currently focused item.

```kotlin
import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusDirection
import androidx.compose.ui.platform.LocalFocusManager

val focusManager = LocalFocusManager.current
Column {
    Row {
        Box(Modifier.focusable())
        Box(Modifier.focusable())
    }
    Row {
        Box(Modifier.focusable())
        Box(Modifier.focusable())
    }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Right) }) { Text("Right") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Left) }) { Text("Left") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Up) }) { Text("Up") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Down) }) { Text("Down") }
}
```

### Up

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

```
val Up: FocusDirection
```

Direction used in `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusManager#moveFocus(androidx.compose.ui.focus.FocusDirection)` to indicate that you are searching for the next focusable item that is above the currently focused item.

```kotlin
import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusDirection
import androidx.compose.ui.platform.LocalFocusManager

val focusManager = LocalFocusManager.current
Column {
    Row {
        Box(Modifier.focusable())
        Box(Modifier.focusable())
    }
    Row {
        Box(Modifier.focusable())
        Box(Modifier.focusable())
    }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Right) }) { Text("Right") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Left) }) { Text("Left") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Up) }) { Text("Up") }
    Button(onClick = { focusManager.moveFocus(FocusDirection.Down) }) { Text("Down") }
}
```

## Public functions

### toString

Cmn

```
open fun toString(): String
```