# ViewOscillator

Artifact: [androidx.constraintlayout:constraintlayout](https://developer.android.com/jetpack/androidx/releases/constraintlayout) [View Source](https://cs.android.com/search?q=file:androidx/constraintlayout/motion/utils/ViewOscillator.java+class:androidx.constraintlayout.motion.utils.ViewOscillator) Added in [2.2.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#2.2.2)

*** ** * ** ***


```
abstract class ViewOscillator : KeyCycleOscillator
```

<br />

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.constraintlayout.core.motion.utils.KeyCycleOscillator](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator) ||
|   | ↳ | [androidx.constraintlayout.motion.utils.ViewOscillator](https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewOscillator) |

Known direct subclasses [ViewOscillator.PathRotateSet](https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewOscillator.PathRotateSet)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewOscillator.PathRotateSet` |   |

*** ** * ** ***

Provide the engine for executing cycles. KeyCycleOscillator

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewOscillator.PathRotateSet : https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewOscillator` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewOscillator#ViewOscillator()()` |

| ### Public functions |
|---|---|
| `java-static https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewOscillator!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewOscillator#makeSpline(java.lang.String)(str: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!)` Create a spline that manipulates a specific property of a view |
| `abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewOscillator#setProperty(android.view.View,float)(view: https://developer.android.com/reference/android/view/View.html!, t: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` Set the property of that view |

| ### Inherited functions |
|---|
| From [androidx.constraintlayout.core.motion.utils.KeyCycleOscillator](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator) |---|---| | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator#get(float)(t: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` | | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/CurveFit!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator#getCurveFit()()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator#getSlope(float)(position: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` | | `java-static https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator#makeWidgetCycle(java.lang.String)(attribute: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!)` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator#setCustom(java.lang.Object)(custom: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!)` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator#setPoint(int,int,java.lang.String,int,float,float,float,float)( framePosition: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, shape: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, waveString: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, variesBy: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, period: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, offset: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, phase: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html )` sets a oscillator wave point | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator#setPoint(int,int,java.lang.String,int,float,float,float,float,java.lang.Object)( framePosition: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, shape: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, waveString: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, variesBy: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, period: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, offset: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, phase: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, custom: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html! )` sets a oscillator wave point | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator#setProperty(androidx.constraintlayout.core.motion.MotionWidget,float)(widget: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/MotionWidget!, t: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator#setType(java.lang.String)(type: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!)` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator#setup(float)(pathLength: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator#toString()()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator#variesByPath()()` | |

| ### Inherited properties |
|---|
| From [androidx.constraintlayout.core.motion.utils.KeyCycleOscillator](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator) |---|---| | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator#mVariesBy()` | |

## Public constructors

### ViewOscillator

Added in 2.2.2

```
ViewOscillator()
```

## Public functions

### makeSpline

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

```
java-static fun makeSpline(str: String!): ViewOscillator!
```

Create a spline that manipulates a specific property of a view

| Parameters |
|---|---|
| `str: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | the property to manipulate |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/motion/utils/ViewOscillator!` |   |

### setProperty

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

```
abstract fun setProperty(view: View!, t: Float): Unit
```

Set the property of that view

| Parameters |
|---|---|
| `view: https://developer.android.com/reference/android/view/View.html!` |   |
| `t: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` |   |