# Keys

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/dsl/Keys.java+class:androidx.constraintlayout.core.dsl.Keys) Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

*** ** * ** ***


```
public class Keys
```

<br />

Known direct subclasses [KeyAttribute](https://developer.android.com/reference/androidx/constraintlayout/core/dsl/KeyAttribute), [KeyAttributes](https://developer.android.com/reference/androidx/constraintlayout/core/dsl/KeyAttributes), [KeyPosition](https://developer.android.com/reference/androidx/constraintlayout/core/dsl/KeyPosition), [KeyPositions](https://developer.android.com/reference/androidx/constraintlayout/core/dsl/KeyPositions)

|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/dsl/KeyAttribute` | Provides the API for creating a KeyAttribute Object for use in the Core ConstraintLayout \&MotionLayout system |
| `https://developer.android.com/reference/androidx/constraintlayout/core/dsl/KeyAttributes` | Provides the API for creating a KeyAttribute Object for use in the Core ConstraintLayout \&MotionLayout system This allows multiple KeyAttribute positions to defined in one object. |
| `https://developer.android.com/reference/androidx/constraintlayout/core/dsl/KeyPosition` | Provides the API for creating a KeyPosition Object for use in the Core ConstraintLayout \&MotionLayout system |
| `https://developer.android.com/reference/androidx/constraintlayout/core/dsl/KeyPositions` | Provides the API for creating a KeyPosition Object for use in the Core ConstraintLayout \&MotionLayout system This allows multiple KeyPosition positions to defined in one object. |

Known indirect subclasses [KeyCycle](https://developer.android.com/reference/androidx/constraintlayout/core/dsl/KeyCycle), [KeyCycles](https://developer.android.com/reference/androidx/constraintlayout/core/dsl/KeyCycles)

|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/dsl/KeyCycle` |   |
| `https://developer.android.com/reference/androidx/constraintlayout/core/dsl/KeyCycles` | Provides the API for creating a KeyCycle Object for use in the Core ConstraintLayout \&MotionLayout system This allows multiple KeyCycle positions to defined in one object. |

*** ** * ** ***

This is the base Key for all the key (KeyCycle, KeyPosition, etc.) Objects

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/dsl/Keys#Keys()()` |

| ### Protected methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/dsl/Keys#append(java.lang.StringBuilder,java.lang.String,java.lang.String[])(https://developer.android.com/reference/java/lang/StringBuilder.html builder, https://developer.android.com/reference/java/lang/String.html name, String[] array)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/dsl/Keys#append(java.lang.StringBuilder,java.lang.String,float[])(https://developer.android.com/reference/java/lang/StringBuilder.html builder, https://developer.android.com/reference/java/lang/String.html name, float[] array)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/dsl/Keys#append(java.lang.StringBuilder,java.lang.String,float)(https://developer.android.com/reference/java/lang/StringBuilder.html builder, https://developer.android.com/reference/java/lang/String.html name, float value)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/dsl/Keys#append(java.lang.StringBuilder,java.lang.String,int)(https://developer.android.com/reference/java/lang/StringBuilder.html builder, https://developer.android.com/reference/java/lang/String.html name, int value)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/dsl/Keys#append(java.lang.StringBuilder,java.lang.String,java.lang.String)(https://developer.android.com/reference/java/lang/StringBuilder.html builder, https://developer.android.com/reference/java/lang/String.html name, https://developer.android.com/reference/java/lang/String.html value)` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/dsl/Keys#unpack(java.lang.String[])(String[] str)` |

## Public constructors

### Keys

Added in 1.1.2

```
public Keys()
```

## Protected methods

### append

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

```
protected void append(StringBuilder builder, String name, String[] array)
```

### append

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

```
protected void append(StringBuilder builder, String name, float[] array)
```

### append

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

```
protected void append(StringBuilder builder, String name, float value)
```

### append

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

```
protected void append(StringBuilder builder, String name, int value)
```

### append

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

```
protected void append(StringBuilder builder, String name, String value)
```

### unpack

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

```
protected String unpack(String[] str)
```