# RemoteIconButton

## 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/RemoteIconButton.composable#RemoteIconButton(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.RemoteIconButtonColors,androidx.wear.compose.remote.material3.RemoteBorderStroke,kotlin.Function0)( onClick: 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/RemoteIconButtonColors, border: https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteBorderStroke?, content: @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 )` Wear Material `https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteIconButton.composable#RemoteIconButton(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.RemoteIconButtonColors,androidx.wear.compose.remote.material3.RemoteBorderStroke,kotlin.Function0)` is a circular, icon-only button with transparent background and no border. |

## Functions

### RemoteIconButton

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/RemoteIconButton.kt+function:RemoteIconButton) Added in [1.0.0-alpha15](https://developer.android.com/jetpack/androidx/releases/wear-compose-remote#1.0.0-alpha15)

```
@Composable
@RemoteComposable
fun RemoteIconButton(
    onClick: RemoteAction,
    modifier: RemoteModifier = RemoteModifier,
    enabled: RemoteBoolean = true.rb,
    shape: RemoteShape = RemoteIconButtonDefaults.shape,
    colors: RemoteIconButtonColors = RemoteIconButtonDefaults.iconButtonColors(),
    border: RemoteBorderStroke? = null,
    content: @Composable @RemoteComposable () -> Unit
): Unit
```

Wear Material `https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteIconButton.composable#RemoteIconButton(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.RemoteIconButtonColors,androidx.wear.compose.remote.material3.RemoteBorderStroke,kotlin.Function0)` is a circular, icon-only button with transparent background and no border. It offers a single slot to take icon or image content.

The default `https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteIconButton.composable#RemoteIconButton(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.RemoteIconButtonColors,androidx.wear.compose.remote.material3.RemoteBorderStroke,kotlin.Function0)` has no border and a transparent background for low emphasis actions. For actions that require higher emphasis, consider overriding the colors by `https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteIconButtonColors#copy(androidx.compose.remote.creation.compose.state.RemoteColor,androidx.compose.remote.creation.compose.state.RemoteColor,androidx.compose.remote.creation.compose.state.RemoteColor,androidx.compose.remote.creation.compose.state.RemoteColor)`

`https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteIconButton.composable#RemoteIconButton(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.RemoteIconButtonColors,androidx.wear.compose.remote.material3.RemoteBorderStroke,kotlin.Function0)` can be enabled or disabled. A disabled button will not respond to click events.

Example of a `https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteIconButton.composable#RemoteIconButton(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.RemoteIconButtonColors,androidx.wear.compose.remote.material3.RemoteBorderStroke,kotlin.Function0)`:

```kotlin
import androidx.compose.remote.creation.compose.modifier.RemoteModifier
import androidx.compose.remote.creation.compose.modifier.size
import androidx.compose.remote.creation.compose.state.rs
import androidx.wear.compose.remote.material3.RemoteIcon
import androidx.wear.compose.remote.material3.RemoteIconButton
import androidx.wear.compose.remote.material3.RemoteIconButtonDefaults
import androidx.wear.compose.remote.material3.previews.utils.TestImageVectors

RemoteIconButton(
    testAction,
    modifier = modifier,
    colors = RemoteIconButtonDefaults.filledTonalIconButtonColors(),
) {
    RemoteIcon(
        imageVector = TestImageVectors.VolumeUp,
        contentDescription = null,
        modifier = RemoteModifier.size(RemoteIconButtonDefaults.DefaultIconSize),
    )
}
```

| Parameters |
|---|---|
| `onClick: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/action/RemoteAction` | Will be called when the user clicks the button. |
| `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. It must be a constant value. |
| `shape: https://developer.android.com/reference/kotlin/androidx/compose/remote/creation/compose/shapes/RemoteShape = RemoteIconButtonDefaults.shape` | Defines the shape for this button. Defaults to a static shape based on `https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteIconButtonDefaults#shape()` |
| `colors: https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteIconButtonColors = RemoteIconButtonDefaults.iconButtonColors()` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/remote/material3/RemoteIconButtonColors` that will be used to resolve the background and content color for this button in different states. |
| `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` that will be used to resolve the border for this button in different states. |
| `content: @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` | The content displayed on the icon button, expected to be icon or image. |