---
title: "RemoteCheckboxButton"
description: "The Wear Material [RemoteCheckboxButton] offers four slots and a specific layout for an icon, a label, a secondaryLabel and a checkbox toggle control."
type: "composable"
lastmod: "2026-09-24"
---
## API Reference

### RemoteCheckboxButton

> Source set: Android

```kotlin
@Composable
public fun RemoteCheckboxButton(
    checked: RemoteBoolean,
    onCheckedChange: Action,
    modifier: RemoteModifier = RemoteModifier,
    enabled: RemoteBoolean = true.rb,
    shape: RemoteShape = RemoteCheckboxButtonDefaults.checkboxButtonShape,
    colors: RemoteCheckboxButtonColors = RemoteCheckboxButtonDefaults.checkboxButtonColors(),
    contentPadding: RemotePaddingValues = RemoteCheckboxButtonDefaults.ContentPadding,
    border: RemoteDp? = null,
    borderColor: RemoteColor? = null,
    icon: (@Composable @RemoteComposable () -> Unit)? = null,
    secondaryLabel: (@Composable @RemoteComposable RemoteRowScope.() -> Unit)? = null,
    label: @Composable @RemoteComposable RemoteRowScope.() -> Unit,
)
```

The Wear Material [RemoteCheckboxButton](/jetpack-compose/androidx.wear.compose.remote/remote-material3/composable-functions/RemoteCheckboxButton/api) offers four slots and a specific layout for an icon, a
label, a secondaryLabel and a checkbox toggle control. The icon and secondaryLabel are optional.
The items are laid out in a row with the optional icon at the start, a column containing the two
label slots and a Checkbox at the end.

#### Parameters

| | |
| --- | --- |
| checked | Boolean flag indicating whether this button is currently checked. |
| onCheckedChange | Callback to be invoked when this button is clicked. |
| modifier | Modifier to be applied to the button. |
| enabled | Controls the enabled state of the button. When `false`, this button will not be clickable. Note that only constant values are currently supported for [enabled](/jetpack-compose/androidx.compose.remote/remote-creation-compose/properties/enabled) for click handling. |
| shape | Defines the button's shape. |
| colors | [RemoteCheckboxButtonColors](/jetpack-compose/androidx.wear.compose.remote/remote-material3/classes/RemoteCheckboxButtonColors) that will be used to resolve the colors used for this button in different states. |
| contentPadding | The spacing values to apply internally between the container and the content. |
| border | Optional [RemoteDp](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteDp) border stroke width. |
| borderColor | Optional [RemoteColor](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteColor) border color. |
| icon | An optional slot for providing an icon to indicate the purpose of the button. |
| secondaryLabel | A slot for providing the button's secondary label. |
| label | A slot for providing the button's main label. |

## Code Examples

### RemoteCheckboxButtonSample

```kotlin
@Sampled
@RemoteComposable
@Composable
@WearPreviewDevices
@PreviewWrapper(RemoteComponentPreviewWrapper::class)
public fun RemoteCheckboxButtonSample(modifier: RemoteModifier = RemoteModifier) {
    val checked = rememberMutableRemoteBoolean(true)

    RemoteCheckboxButton(
        checked = checked,
        onCheckedChange = valueChange(checked, !checked),
        modifier = modifier,
        label = { RemoteText("Checkbox".rs) },
    )
}
```
