---
title: "focusGroup"
description: "Creates a focus group or marks this component as a focus group. This means that when we move
focus using the keyboard or programmatically using
[FocusManager.moveFocus()][androidx.compose.ui.focus.FocusManager.moveFocus], the items within
the focus group will be given a higher priority before focus moves to items outside the focus
group.

In the sample below, each column is a focus group, so pressing the tab key will move focus to all
the buttons in column 1 before visiting column 2.


Note: The focusable children of a focusable parent automatically form a focus group. This
modifier is to be used when you want to create a focus group where the parent is not focusable.
If you encounter a component that uses a [focusGroup] internally, you can make it focusable by
using a [focusable] modifier. In the second sample here, the
[LazyRow][androidx.compose.foundation.lazy.LazyRow] is a focus group that is not itself
focusable. But you can make it focusable by adding a [focusable] modifier."
type: "modifier"
---

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

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


```kotlin
fun Modifier.focusGroup(): Modifier
```


Creates a focus group or marks this component as a focus group. This means that when we move
focus using the keyboard or programmatically using
`FocusManager.moveFocus()`, the items within
the focus group will be given a higher priority before focus moves to items outside the focus
group.

In the sample below, each column is a focus group, so pressing the tab key will move focus to all
the buttons in column 1 before visiting column 2.


Note: The focusable children of a focusable parent automatically form a focus group. This
modifier is to be used when you want to create a focus group where the parent is not focusable.
If you encounter a component that uses a `focusGroup` internally, you can make it focusable by
using a `focusable` modifier. In the second sample here, the
`LazyRow` is a focus group that is not itself
focusable. But you can make it focusable by adding a `focusable` modifier.



## Code Examples
### FocusGroupSample
```kotlin
@Composable
fun FocusGroupSample() {
    Row {
        Column(Modifier.focusGroup()) {
            Button({}) { Text("Row1 Col1") }
            Button({}) { Text("Row2 Col1") }
            Button({}) { Text("Row3 Col1") }
        }
        Column(Modifier.focusGroup()) {
            Button({}) { Text("Row1 Col2") }
            Button({}) { Text("Row2 Col2") }
            Button({}) { Text("Row3 Col2") }
        }
    }
}
```
### FocusableFocusGroupSample
```kotlin
@Composable
fun FocusableFocusGroupSample() {
    val interactionSource = remember { MutableInteractionSource() }
    LazyRow(
        Modifier.focusable(interactionSource = interactionSource)
            .border(1.dp, if (interactionSource.collectIsFocusedAsState().value) Red else Black)
    ) {
        repeat(10) { item { Button({}) { Text("Button$it") } } }
    }
}
```

