# focusOrder

Common/All

## Functions summary

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.[focusOrder](https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/focusOrder.modifier#(androidx.compose.ui.Modifier).focusOrder(kotlin.Function1))(focusOrderReceiver: https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusOrder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` **This function is deprecated.** Use focusProperties() instead | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.[focusOrder](https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/focusOrder.modifier#(androidx.compose.ui.Modifier).focusOrder(androidx.compose.ui.focus.FocusRequester))(focusRequester: https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusRequester)` **This function is deprecated.** Use focusRequester() instead | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.[focusOrder](https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/focusOrder.modifier#(androidx.compose.ui.Modifier).focusOrder(androidx.compose.ui.focus.FocusRequester,kotlin.Function1))( focusRequester: https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusRequester, focusOrderReceiver: https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusOrder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` **This function is deprecated.** Use focusProperties() and focusRequester() instead | Cmn |

## Functions

### Modifier.focusOrder

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/FocusOrderModifier.kt+function:focusOrder) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.0.0) Deprecated in [1.2.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.2.0)

```
fun Modifier.[focusOrder](https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/focusOrder.modifier#(androidx.compose.ui.Modifier).focusOrder(kotlin.Function1))(focusOrderReceiver: FocusOrder.() -> Unit): Modifier
```

> [!CAUTION]
> **This function is deprecated.**   
> Use focusProperties() instead, use this instead:
>
> ```kotlin
> this.focusProperties(focusOrderReceiver)
> ```

Use this modifier to specify a custom focus traversal order.

```kotlin
import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusProperties
import androidx.compose.ui.focus.focusRequester

Column(Modifier.fillMaxSize(), Arrangement.SpaceEvenly) {
    val (item1, item2, item3, item4) = remember { FocusRequester.createRefs() }
    Row(Modifier.fillMaxWidth(), Arrangement.SpaceEvenly) {
        Box(
            Modifier.focusRequester(item1)
                .focusProperties {
                    next = item2
                    right = item2
                    down = item3
                    previous = item4
                }
                .focusable()
        )
        Box(
            Modifier.focusRequester(item2)
                .focusProperties {
                    next = item3
                    right = item1
                    down = item4
                    previous = item1
                }
                .focusable()
        )
    }
    Row(Modifier.fillMaxWidth(), Arrangement.SpaceEvenly) {
        Box(
            Modifier.focusRequester(item3).focusProperties {
                next = item4
                right = item4
                up = item1
                previous = item2
            }
        )
        Box(
            Modifier.focusRequester(item4).focusProperties {
                next = item1
                left = item3
                up = item2
                previous = item3
            }
        )
    }
}
```

| Parameters |
|---|---|
| `focusOrderReceiver: https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusOrder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | Specifies `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusRequester`s that are used when the user wants to move the current focus to the `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusOrder#next()` item, or wants to move focus `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusOrder#left()`, `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusOrder#right()`, `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusOrder#up()` or `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusOrder#down()`. |

### Modifier.focusOrder

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/FocusOrderModifier.kt+function:focusOrder) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.0.0) Deprecated in [1.2.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.2.0)

```
fun Modifier.[focusOrder](https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/focusOrder.modifier#(androidx.compose.ui.Modifier).focusOrder(androidx.compose.ui.focus.FocusRequester))(focusRequester: FocusRequester): Modifier
```

> [!CAUTION]
> **This function is deprecated.**   
> Use focusRequester() instead, use this instead:
>
> ```kotlin
> this.focusRequester(focusRequester)
> ```

A modifier that lets you specify a `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusRequester` for the current composable so that this `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/package-summary#(androidx.compose.ui.Modifier).focusOrder(androidx.compose.ui.focus.FocusRequester)` can be used by another composable to specify a custom focus order.

```kotlin
import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusProperties
import androidx.compose.ui.focus.focusRequester

Column(Modifier.fillMaxSize(), Arrangement.SpaceEvenly) {
    val (item1, item2, item3, item4) = remember { FocusRequester.createRefs() }
    Row(Modifier.fillMaxWidth(), Arrangement.SpaceEvenly) {
        Box(
            Modifier.focusRequester(item1)
                .focusProperties {
                    next = item2
                    right = item2
                    down = item3
                    previous = item4
                }
                .focusable()
        )
        Box(
            Modifier.focusRequester(item2)
                .focusProperties {
                    next = item3
                    right = item1
                    down = item4
                    previous = item1
                }
                .focusable()
        )
    }
    Row(Modifier.fillMaxWidth(), Arrangement.SpaceEvenly) {
        Box(
            Modifier.focusRequester(item3).focusProperties {
                next = item4
                right = item4
                up = item1
                previous = item2
            }
        )
        Box(
            Modifier.focusRequester(item4).focusProperties {
                next = item1
                left = item3
                up = item2
                previous = item3
            }
        )
    }
}
```

### Modifier.focusOrder

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/FocusOrderModifier.kt+function:focusOrder) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.0.0) Deprecated in [1.2.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.2.0)

```
fun Modifier.[focusOrder](https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/focusOrder.modifier#(androidx.compose.ui.Modifier).focusOrder(androidx.compose.ui.focus.FocusRequester,kotlin.Function1))(
    focusRequester: FocusRequester,
    focusOrderReceiver: FocusOrder.() -> Unit
): Modifier
```

> [!CAUTION]
> **This function is deprecated.**   
> Use focusProperties() and focusRequester() instead, use this instead:
>
> ```kotlin
> this.focusRequester(focusRequester).focusProperties(focusOrderReceiver)
> ```

A modifier that lets you specify a `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/FocusRequester` for the current composable along with `https://developer.android.com/reference/kotlin/androidx/compose/ui/focus/focusOrder.modifier#(androidx.compose.ui.Modifier).focusOrder(androidx.compose.ui.focus.FocusRequester,kotlin.Function1)`.