# RemoteRadioButton

## 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/RemoteRadioButton.composable#RemoteRadioButton(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.RemoteRadioButtonColors,androidx.compose.remote.creation.compose.layout.RemotePaddingValues,androidx.wear.compose.remote.material3.RemoteBorderStroke,kotlin.Function0,kotlin.Function1,kotlin.Function1)( selected: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/state/RemoteBoolean, onSelect: 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/RemoteRadioButtonColors, 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/RemoteRadioButton.composable#RemoteRadioButton(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.RemoteRadioButtonColors,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 radio selection control. |

## Functions

### RemoteRadioButton

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/RemoteRadioButton.kt+function:RemoteRadioButton)

```
@Composable
@RemoteComposable
fun RemoteRadioButton(
    selected: RemoteBoolean,
    onSelect: RemoteAction,
    modifier: RemoteModifier = RemoteModifier,
    enabled: RemoteBoolean = true.rb,
    shape: RemoteShape = RemoteRadioButtonDefaults.radioButtonShape,
    colors: RemoteRadioButtonColors = RemoteRadioButtonDefaults.radioButtonColors(),
    contentPadding: RemotePaddingValues = RemoteRadioButtonDefaults.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/RemoteRadioButton.composable#RemoteRadioButton(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.RemoteRadioButtonColors,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 radio selection 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 Radio control 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.rb
import androidx.compose.remote.creation.compose.state.rs
import androidx.compose.runtime.remember
import androidx.wear.compose.remote.material3.RemoteRadioButton
import androidx.wear.compose.remote.material3.RemoteText

val selected = remember { MutableRemoteBoolean(true) }

RemoteRadioButton(
    selected = selected,
    onSelect = valueChange(selected, true.rb),
    modifier = modifier,
    label = { RemoteText("Radio Button".rs) },
)
```

| Parameters |
|---|---|
| `selected: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/state/RemoteBoolean` | Boolean flag indicating whether this button is currently selected. |
| `onSelect: 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#RemoteRadioButton(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.RemoteRadioButtonColors,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 = RemoteRadioButtonDefaults.radioButtonShape` | Defines the button's shape. |
| `colors: https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteRadioButtonColors = RemoteRadioButtonDefaults.radioButtonColors()` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteRadioButtonColors` 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 = RemoteRadioButtonDefaults.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. |