# KeyCycleScope

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.KeyCycleScope) Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)


```
@ExperimentalMotionApi
@LayoutScopeMarker
class KeyCycleScope : BaseKeyFrameScope
```

<br />

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

*** ** * ** ***

Scope to define cycling KeyFrames.

`https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope` allows you to apply wave-based transforms, defined by `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#period()`, `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#offset()` and `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#phase()`. A sinusoidal wave is used by default.

## Summary

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#alpha()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#offset()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#period()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#phase()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#rotationX()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#rotationY()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#rotationZ()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#scaleX()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#scaleY()` |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#translationX()` |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#translationY()` |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/KeyCycleScope#translationZ()` |

| ### Inherited functions |
|---|
| From [androidx.constraintlayout.compose.BaseKeyFrameScope](https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/BaseKeyFrameScope) |---|---| | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.properties/-observable-property/index.html<E>` | `<E : https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/NamedPropertyOrValue?> https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/BaseKeyFrameScope#addNameOnPropertyChange(androidx.constraintlayout.compose.NamedPropertyOrValue,kotlin.String)( initialValue: E, nameOverride: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html? )` Property delegate that updates the `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/BaseKeyFrameScope#keyFramePropertiesValue()` map on value changes. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.properties/-observable-property/index.html<T>` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?> https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/BaseKeyFrameScope#addOnPropertyChange(kotlin.Any,kotlin.String)(initialValue: T, nameOverride: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?)` When changed, updates the value of type `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/BaseKeyFrameScope#addOnPropertyChange(kotlin.Any,kotlin.String)` on the `https://developer.android.com/reference/kotlin/androidx/constraintlayout/compose/BaseKeyFrameScope#keyFramePropertiesValue()` map. | |

## Public properties

### alpha

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

```
var alpha: Float
```

### offset

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

```
var offset: Float
```

### period

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

```
var period: Float
```

### phase

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

```
var phase: Float
```

### rotationX

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

```
var rotationX: Float
```

### rotationY

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

```
var rotationY: Float
```

### rotationZ

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

```
var rotationZ: Float
```

### scaleX

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

```
var scaleX: Float
```

### scaleY

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

```
var scaleY: Float
```

### translationX

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

```
var translationX: Dp
```

### translationY

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

```
var translationY: Dp
```

### translationZ

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

```
var translationZ: Dp
```