---
title: "focusOrder"
description: "Use this modifier to specify a custom focus traversal order."
type: "modifier"
---

<div class='type'>Compose Modifier</div>

<a id='references'></a>
<div class='sourceset sourceset-common'>Common</div>


> **Deprecated** Use focusProperties() instead

```kotlin
fun Modifier.focusOrder(
    @Suppress("DEPRECATION") focusOrderReceiver: FocusOrder.() -> Unit
): Modifier
```


Use this modifier to specify a custom focus traversal order.

#### Parameters

| | |
| --- | --- |
| focusOrderReceiver | Specifies `FocusRequester`s that are used when the user wants to move the current focus to the `next` item, or wants to move focus `left`, `right`, `up` or `down`. |




<div class='sourceset sourceset-common'>Common</div>


> **Deprecated** Use focusRequester() instead

```kotlin
fun Modifier.focusOrder(focusRequester: FocusRequester): Modifier
```


A modifier that lets you specify a `FocusRequester` for the current composable so that this
`focusRequester` can be used by another composable to specify a custom focus order.



<div class='sourceset sourceset-common'>Common</div>


> **Deprecated** Use focusProperties() and focusRequester() instead

```kotlin
fun Modifier.focusOrder(
    focusRequester: FocusRequester,
    @Suppress("DEPRECATION") focusOrderReceiver: FocusOrder.() -> Unit,
): Modifier
```


A modifier that lets you specify a `FocusRequester` for the current composable along with
`focusOrder`.



## Code Examples
### CustomFocusOrderSample
```kotlin
@Composable
fun CustomFocusOrderSample() {
    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
                }
            )
        }
    }
}
```

