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

*** ** * ** ***

<br />

```
class Keys
```

<br />

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

|---|---|
| `https://developer.android.com/reference/kotlin/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/kotlin/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/kotlin/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/kotlin/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/kotlin/androidx/constraintlayout/core/dsl/KeyCycle), [KeyCycles](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/dsl/KeyCycles)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/dsl/KeyCycle` |   |
| `https://developer.android.com/reference/kotlin/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/kotlin/androidx/constraintlayout/core/dsl/Keys#Keys()()` |

| ### Protected functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/dsl/Keys#append(java.lang.StringBuilder,java.lang.String,java.lang.String[])(builder: https://developer.android.com/reference/java/lang/StringBuilder.html!, name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, array: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<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/dsl/Keys#append(java.lang.StringBuilder,java.lang.String,float[])(builder: https://developer.android.com/reference/java/lang/StringBuilder.html!, name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, array: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float-array/index.html<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/dsl/Keys#append(java.lang.StringBuilder,java.lang.String,float)(builder: https://developer.android.com/reference/java/lang/StringBuilder.html!, name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, value: 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/dsl/Keys#append(java.lang.StringBuilder,java.lang.String,int)(builder: https://developer.android.com/reference/java/lang/StringBuilder.html!, name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/dsl/Keys#append(java.lang.StringBuilder,java.lang.String,java.lang.String)(builder: https://developer.android.com/reference/java/lang/StringBuilder.html!, name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/dsl/Keys#unpack(java.lang.String[])(str: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!)` |

## Public constructors

### Keys

Added in 1.1.2

```
Keys()
```

## Protected functions

### append

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

```
protected fun append(builder: StringBuilder!, name: String!, array: Array<String!>!): Unit
```

### append

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

```
protected fun append(builder: StringBuilder!, name: String!, array: FloatArray<Float>!): Unit
```

### append

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

```
protected fun append(builder: StringBuilder!, name: String!, value: Float): Unit
```

### append

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

```
protected fun append(builder: StringBuilder!, name: String!, value: Int): Unit
```

### append

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

```
protected fun append(builder: StringBuilder!, name: String!, value: String!): Unit
```

### unpack

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

```
protected fun unpack(str: Array<String!>!): String!
```