# 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)

*** ** * ** ***


```
public abstract class ViewOscillator extends KeyCycleOscillator
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [androidx.constraintlayout.core.motion.utils.KeyCycleOscillator](https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator) ||
|   | ↳ | [androidx.constraintlayout.motion.utils.ViewOscillator](https://developer.android.com/reference/androidx/constraintlayout/motion/utils/ViewOscillator) |

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

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

*** ** * ** ***

Provide the engine for executing cycles. KeyCycleOscillator

## Summary

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

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

| ### Public methods |
|---|---|
| `static https://developer.android.com/reference/androidx/constraintlayout/motion/utils/ViewOscillator` | `https://developer.android.com/reference/androidx/constraintlayout/motion/utils/ViewOscillator#makeSpline(java.lang.String)(https://developer.android.com/reference/java/lang/String.html str)` Create a spline that manipulates a specific property of a view |
| `abstract void` | `https://developer.android.com/reference/androidx/constraintlayout/motion/utils/ViewOscillator#setProperty(android.view.View,float)(https://developer.android.com/reference/android/view/View.html view, float t)` Set the property of that view |

| ### Inherited fields |
|---|
| From [androidx.constraintlayout.core.motion.utils.KeyCycleOscillator](https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator) |---|---| | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator#mVariesBy()` | |

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

## Public constructors

### ViewOscillator

Added in 2.2.2

```
public ViewOscillator()
```

## Public methods

### makeSpline

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

```
public static ViewOscillator makeSpline(String str)
```

Create a spline that manipulates a specific property of a view

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html str` | the property to manipulate |

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

### setProperty

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

```
public abstract void setProperty(View view, float t)
```

Set the property of that view

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/view/View.html view` |   |
| `float t` |   |