# KeyCyclesScope

Artifact: [androidx.constraintlayout:constraintlayout-compose](https://developer.android.com/jetpack/androidx/releases/constraintlayout) [View Source](https://cs.android.com/search?q=file:androidx/constraintlayout/compose/TransitionScope.kt+class:androidx.constraintlayout.compose.KeyCyclesScope) Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)


```
@ExperimentalMotionApi
@LayoutScopeMarker
class KeyCyclesScope : BaseKeyFramesScope
```

<br />

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.constraintlayout.compose.BaseKeyFramesScope](https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/BaseKeyFramesScope) ||
|   | ↳ | [androidx.constraintlayout.compose.KeyCyclesScope](https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCyclesScope) |

*** ** * ** ***

Scope where multiple cycling attribute KeyFrames may be defined.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCyclesScope#frame(kotlin.Int,kotlin.Function1)` |   |

## Summary

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCyclesScope#frame(kotlin.Int,kotlin.Function1)(frame: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0, to = 100) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, keyFrameContent: https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` Define KeyCycle values at a given KeyFrame, where the `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCyclesScope#frame(kotlin.Int,kotlin.Function1)` is a specific progress value from 0 to 100. |

| ### Inherited properties |
|---|
| From [androidx.constraintlayout.compose.BaseKeyFramesScope](https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/BaseKeyFramesScope) |---|---| | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/Easing` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/BaseKeyFramesScope#easing()` The `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/Easing` curve to apply for the KeyFrames defined in this scope. | |

## Public functions

### frame

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun frame(frame: @IntRange(from = 0, to = 100) Int, keyFrameContent: KeyCycleScope.() -> Unit): Unit
```

Define KeyCycle values at a given KeyFrame, where the `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCyclesScope#frame(kotlin.Int,kotlin.Function1)` is a specific progress value from 0 to 100.

All properties set on `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope` for this `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCyclesScope#frame(kotlin.Int,kotlin.Function1)` should also be set on other `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCyclesScope#frame(kotlin.Int,kotlin.Function1)` declarations made within this scope.