# RemoteCheckboxButton

## Functions summary

|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable @https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/layout/RemoteComposable https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteCheckboxButton.composable#RemoteCheckboxButton(androidx.compose.remote.creation.compose.state.RemoteBoolean,androidx.compose.remote.creation.compose.action.RemoteAction,androidx.compose.remote.creation.compose.modifier.RemoteModifier,androidx.compose.remote.creation.compose.state.RemoteBoolean,androidx.compose.remote.creation.compose.shapes.RemoteShape,androidx.wear.compose.remote.material3.RemoteCheckboxButtonColors,androidx.compose.remote.creation.compose.layout.RemotePaddingValues,androidx.wear.compose.remote.material3.RemoteBorderStroke,kotlin.Function0,kotlin.Function1,kotlin.Function1)( checked: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/state/RemoteBoolean, onCheckedChange: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/action/RemoteAction, modifier: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/modifier/RemoteModifier, enabled: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/state/RemoteBoolean, shape: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/shapes/RemoteShape, colors: https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteCheckboxButtonColors, contentPadding: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/layout/RemotePaddingValues, border: https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteBorderStroke?, icon: (@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable @https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/layout/RemoteComposable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)?, secondaryLabel: (@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable @https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/layout/RemoteComposable https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/layout/RemoteRowScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)?, label: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable @https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/layout/RemoteComposable https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/layout/RemoteRowScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` The Wear Material `https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteCheckboxButton.composable#RemoteCheckboxButton(androidx.compose.remote.creation.compose.state.RemoteBoolean,androidx.compose.remote.creation.compose.action.RemoteAction,androidx.compose.remote.creation.compose.modifier.RemoteModifier,androidx.compose.remote.creation.compose.state.RemoteBoolean,androidx.compose.remote.creation.compose.shapes.RemoteShape,androidx.wear.compose.remote.material3.RemoteCheckboxButtonColors,androidx.compose.remote.creation.compose.layout.RemotePaddingValues,androidx.wear.compose.remote.material3.RemoteBorderStroke,kotlin.Function0,kotlin.Function1,kotlin.Function1)` offers four slots and a specific layout for an icon, a label, a secondaryLabel and a checkbox toggle control. |

## Functions

### RemoteCheckboxButton

Artifact: [androidx.wear.compose.remote:remote-material3](https://developer.android.com/jetpack/androidx/releases/wear-compose-remote) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/remote/material3/RemoteCheckboxButton.kt+function:RemoteCheckboxButton)

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

The Wear Material `https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteCheckboxButton.composable#RemoteCheckboxButton(androidx.compose.remote.creation.compose.state.RemoteBoolean,androidx.compose.remote.creation.compose.action.RemoteAction,androidx.compose.remote.creation.compose.modifier.RemoteModifier,androidx.compose.remote.creation.compose.state.RemoteBoolean,androidx.compose.remote.creation.compose.shapes.RemoteShape,androidx.wear.compose.remote.material3.RemoteCheckboxButtonColors,androidx.compose.remote.creation.compose.layout.RemotePaddingValues,androidx.wear.compose.remote.material3.RemoteBorderStroke,kotlin.Function0,kotlin.Function1,kotlin.Function1)` 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.

```kotlin
import androidx.compose.remote.creation.compose.action.valueChange
import androidx.compose.remote.creation.compose.state.MutableRemoteBoolean
import androidx.compose.remote.creation.compose.state.rs
import androidx.compose.runtime.remember
import androidx.wear.compose.remote.material3.RemoteCheckboxButton
import androidx.wear.compose.remote.material3.RemoteText

val checked = remember { MutableRemoteBoolean(true) }

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

| Parameters |
|---|---|
| `checked: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/state/RemoteBoolean` | Boolean flag indicating whether this button is currently checked. |
| `onCheckedChange: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/action/RemoteAction` | Callback to be invoked when this button is clicked. |
| `modifier: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/modifier/RemoteModifier = RemoteModifier` | Modifier to be applied to the button. |
| `enabled: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/state/RemoteBoolean = true.rb` | Controls the enabled state of the button. When `false`, this button will not be clickable. Note that only constant values are currently supported for `https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/package-summary#RemoteCheckboxButton(androidx.compose.remote.creation.compose.state.RemoteBoolean,androidx.compose.remote.creation.compose.action.RemoteAction,androidx.compose.remote.creation.compose.modifier.RemoteModifier,androidx.compose.remote.creation.compose.state.RemoteBoolean,androidx.compose.remote.creation.compose.shapes.RemoteShape,androidx.wear.compose.remote.material3.RemoteCheckboxButtonColors,androidx.compose.remote.creation.compose.layout.RemotePaddingValues,androidx.wear.compose.remote.material3.RemoteBorderStroke,kotlin.Function0,kotlin.Function1,kotlin.Function1)` for click handling. |
| `shape: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/shapes/RemoteShape = RemoteCheckboxButtonDefaults.checkboxButtonShape` | Defines the button's shape. |
| `colors: https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteCheckboxButtonColors = RemoteCheckboxButtonDefaults.checkboxButtonColors()` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteCheckboxButtonColors` that will be used to resolve the colors used for this button in different states. |
| `contentPadding: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/layout/RemotePaddingValues = RemoteCheckboxButtonDefaults.ContentPadding` | The spacing values to apply internally between the container and the content. |
| `border: https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteBorderStroke? = null` | Optional `https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteBorderStroke` for the button. |
| `icon: (@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable @https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/layout/RemoteComposable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)? = null` | An optional slot for providing an icon to indicate the purpose of the button. |
| `secondaryLabel: (@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable @https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/layout/RemoteComposable https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/layout/RemoteRowScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)? = null` | A slot for providing the button's secondary label. |
| `label: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable @https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/layout/RemoteComposable https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/layout/RemoteRowScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | A slot for providing the button's main label. |