# MotionKeyTrigger

Artifact: [androidx.constraintlayout:constraintlayout-core](https://developer.android.com/jetpack/androidx/releases/constraintlayout) [View Source](https://cs.android.com/search?q=file:androidx/constraintlayout/core/motion/key/MotionKeyTrigger.java+class:androidx.constraintlayout.core.motion.key.MotionKeyTrigger) Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

*** ** * ** ***


```
public class MotionKeyTrigger extends MotionKey
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [androidx.constraintlayout.core.motion.key.MotionKey](https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey) ||
|   | ↳ | [androidx.constraintlayout.core.motion.key.MotionKeyTrigger](https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger) |

*** ** * ** ***

## Summary

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#CROSS() = "CROSS"` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#KEY_TYPE() = 5` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#NEGATIVE_CROSS() = "negativeCross"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#POSITIVE_CROSS() = "positiveCross"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#POST_LAYOUT() = "postLayout"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TRIGGER_COLLISION_ID() = "triggerCollisionId"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TRIGGER_COLLISION_VIEW() = "triggerCollisionView"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TRIGGER_ID() = "triggerID"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TRIGGER_RECEIVER() = "triggerReceiver"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TRIGGER_SLACK() = "triggerSlack"` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TYPE_CROSS() = 312` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TYPE_NEGATIVE_CROSS() = 310` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TYPE_POSITIVE_CROSS() = 309` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TYPE_POST_LAYOUT() = 304` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TYPE_TRIGGER_COLLISION_ID() = 307` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TYPE_TRIGGER_COLLISION_VIEW() = 306` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TYPE_TRIGGER_ID() = 308` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TYPE_TRIGGER_RECEIVER() = 311` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TYPE_TRIGGER_SLACK() = 305` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TYPE_VIEW_TRANSITION_ON_CROSS() = 301` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TYPE_VIEW_TRANSITION_ON_NEGATIVE_CROSS() = 303` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#TYPE_VIEW_TRANSITION_ON_POSITIVE_CROSS() = 302` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#VIEW_TRANSITION_ON_CROSS() = "viewTransitionOnCross"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#VIEW_TRANSITION_ON_NEGATIVE_CROSS() = "viewTransitionOnNegativeCross"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#VIEW_TRANSITION_ON_POSITIVE_CROSS() = "viewTransitionOnPositiveCross"` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#MotionKeyTrigger()()` |

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#addValues(java.util.HashMap<java.lang.String,androidx.constraintlayout.core.motion.utils.SplineSet>)(https://developer.android.com/reference/java/util/HashMap.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/SplineSet> splines)` Defines method to add a a view to splines derived form this key frame. |
| `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#clone()()` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#conditionallyFire(float,androidx.constraintlayout.core.motion.MotionWidget)(float position, https://developer.android.com/reference/androidx/constraintlayout/core/motion/MotionWidget child)` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#copy(androidx.constraintlayout.core.motion.key.MotionKey)(https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey src)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#getAttributeNames(java.util.HashSet<java.lang.String>)(https://developer.android.com/reference/java/util/HashSet.html<https://developer.android.com/reference/java/lang/String.html> attributes)` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#getId(java.lang.String)(https://developer.android.com/reference/java/lang/String.html name)` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#setValue(int,boolean)(int type, boolean value)` Used to set boolean values |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#setValue(int,float)(int type, float value)` Used to set float values |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#setValue(int,int)(int type, int value)` Used to set integer values |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKeyTrigger#setValue(int,java.lang.String)(int type, https://developer.android.com/reference/java/lang/String.html value)` Used to set String values |

| ### Inherited Constants |
|---|
| From [androidx.constraintlayout.core.motion.key.MotionKey](https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey) |---|---| | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#ALPHA() = "alpha"` | | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#CUSTOM() = "CUSTOM"` | | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#ELEVATION() = "elevation"` | | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#ROTATION() = "rotationZ"` | | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#ROTATION_X() = "rotationX"` | | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#SCALE_X() = "scaleX"` | | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#SCALE_Y() = "scaleY"` | | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#TRANSITION_PATH_ROTATE() = "transitionPathRotate"` | | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#TRANSLATION_X() = "translationX"` | | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#TRANSLATION_Y() = "translationY"` | | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#VISIBILITY() = "visibility"` | |
| From [androidx.constraintlayout.core.motion.utils.TypedValues](https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedValues) |---|---| | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedValues#BOOLEAN_MASK() = 1` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedValues#FLOAT_MASK() = 4` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedValues#INT_MASK() = 2` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedValues#STRING_MASK() = 8` | | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedValues#S_CUSTOM() = "CUSTOM"` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedValues#TYPE_FRAME_POSITION() = 100` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedValues#TYPE_TARGET() = 101` | |

| ### Inherited fields |
|---|
| From [androidx.constraintlayout.core.motion.key.MotionKey](https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey) |---|---| | `static int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#UNSET()` | | `https://developer.android.com/reference/java/util/HashMap.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/androidx/constraintlayout/core/motion/CustomVariable>` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#mCustom()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#mFramePosition()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#mType()` | |

| ### Inherited methods |
|---|
| From [androidx.constraintlayout.core.motion.key.MotionKey](https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey) |---|---| | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#getFramePosition()()` Gets the current frame position | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#setCustomAttribute(java.lang.String,int,boolean)(https://developer.android.com/reference/java/lang/String.html name, int type, boolean value)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#setCustomAttribute(java.lang.String,int,float)(https://developer.android.com/reference/java/lang/String.html name, int type, float value)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#setCustomAttribute(java.lang.String,int,int)(https://developer.android.com/reference/java/lang/String.html name, int type, int value)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#setCustomAttribute(java.lang.String,int,java.lang.String)(https://developer.android.com/reference/java/lang/String.html name, int type, https://developer.android.com/reference/java/lang/String.html value)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#setFramePosition(int)(int pos)` sets the frame position | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#setInterpolation(java.util.HashMap<java.lang.String,java.lang.Integer>)(https://developer.android.com/reference/java/util/HashMap.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/lang/Integer.html> interpolation)` Key frame can specify the type of interpolation it wants on various attributes For each string it set it to -1, CurveFit.LINEAR or CurveFit.SPLINE | | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/key/MotionKey#setViewId(int)(int id)` | |
| From [androidx.constraintlayout.core.motion.utils.TypedValues](https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedValues) |---|---| | `abstract boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedValues#setValue(int,boolean)(int id, boolean value)` Used to set boolean values | | `abstract boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedValues#setValue(int,float)(int id, float value)` Used to set float values | | `abstract boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedValues#setValue(int,int)(int id, int value)` Used to set integer values | | `abstract boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedValues#setValue(int,java.lang.String)(int id, https://developer.android.com/reference/java/lang/String.html value)` Used to set String values | |

## Constants

### CROSS

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

```
public static final String CROSS = "CROSS"
```

### KEY_TYPE

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

```
public static final int KEY_TYPE = 5
```

### NEGATIVE_CROSS

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

```
public static final String NEGATIVE_CROSS = "negativeCross"
```

### POSITIVE_CROSS

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

```
public static final String POSITIVE_CROSS = "positiveCross"
```

### POST_LAYOUT

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

```
public static final String POST_LAYOUT = "postLayout"
```

### TRIGGER_COLLISION_ID

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

```
public static final String TRIGGER_COLLISION_ID = "triggerCollisionId"
```

### TRIGGER_COLLISION_VIEW

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

```
public static final String TRIGGER_COLLISION_VIEW = "triggerCollisionView"
```

### TRIGGER_ID

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

```
public static final String TRIGGER_ID = "triggerID"
```

### TRIGGER_RECEIVER

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

```
public static final String TRIGGER_RECEIVER = "triggerReceiver"
```

### TRIGGER_SLACK

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

```
public static final String TRIGGER_SLACK = "triggerSlack"
```

### TYPE_CROSS

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

```
public static final int TYPE_CROSS = 312
```

### TYPE_NEGATIVE_CROSS

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

```
public static final int TYPE_NEGATIVE_CROSS = 310
```

### TYPE_POSITIVE_CROSS

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

```
public static final int TYPE_POSITIVE_CROSS = 309
```

### TYPE_POST_LAYOUT

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

```
public static final int TYPE_POST_LAYOUT = 304
```

### TYPE_TRIGGER_COLLISION_ID

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

```
public static final int TYPE_TRIGGER_COLLISION_ID = 307
```

### TYPE_TRIGGER_COLLISION_VIEW

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

```
public static final int TYPE_TRIGGER_COLLISION_VIEW = 306
```

### TYPE_TRIGGER_ID

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

```
public static final int TYPE_TRIGGER_ID = 308
```

### TYPE_TRIGGER_RECEIVER

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

```
public static final int TYPE_TRIGGER_RECEIVER = 311
```

### TYPE_TRIGGER_SLACK

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

```
public static final int TYPE_TRIGGER_SLACK = 305
```

### TYPE_VIEW_TRANSITION_ON_CROSS

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

```
public static final int TYPE_VIEW_TRANSITION_ON_CROSS = 301
```

### TYPE_VIEW_TRANSITION_ON_NEGATIVE_CROSS

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

```
public static final int TYPE_VIEW_TRANSITION_ON_NEGATIVE_CROSS = 303
```

### TYPE_VIEW_TRANSITION_ON_POSITIVE_CROSS

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

```
public static final int TYPE_VIEW_TRANSITION_ON_POSITIVE_CROSS = 302
```

### VIEW_TRANSITION_ON_CROSS

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

```
public static final String VIEW_TRANSITION_ON_CROSS = "viewTransitionOnCross"
```

### VIEW_TRANSITION_ON_NEGATIVE_CROSS

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

```
public static final String VIEW_TRANSITION_ON_NEGATIVE_CROSS = "viewTransitionOnNegativeCross"
```

### VIEW_TRANSITION_ON_POSITIVE_CROSS

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

```
public static final String VIEW_TRANSITION_ON_POSITIVE_CROSS = "viewTransitionOnPositiveCross"
```

## Public constructors

### MotionKeyTrigger

Added in 1.1.2

```
public MotionKeyTrigger()
```

## Public methods

### addValues

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

```
public void addValues(HashMap<String, SplineSet> splines)
```

Defines method to add a a view to splines derived form this key frame. The values are written to the spline

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/util/HashMap.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/SplineSet> splines` | splines to write values to |

### clone

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

```
public MotionKey clone()
```

### conditionallyFire

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

```
public void conditionallyFire(float position, MotionWidget child)
```

### copy

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

```
public MotionKeyTrigger copy(MotionKey src)
```

### getAttributeNames

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

```
public void getAttributeNames(HashSet<String> attributes)
```

### getId

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

```
public int getId(String name)
```

### setValue

```
public boolean setValue(int type, boolean value)
```

Used to set boolean values

| Returns |
|---|---|
| `boolean` | true if it accepted the value |

### setValue

```
public boolean setValue(int type, float value)
```

Used to set float values

| Returns |
|---|---|
| `boolean` | true if it accepted the value |

### setValue

```
public boolean setValue(int type, int value)
```

Used to set integer values

| Returns |
|---|---|
| `boolean` | true if it accepted the value |

### setValue

```
public boolean setValue(int type, String value)
```

Used to set String values

| Returns |
|---|---|
| `boolean` | true if it accepted the value |