# StateSet

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

*** ** * ** ***


```
public class StateSet
```

<br />

*** ** * ** ***

## Summary

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/widget/StateSet#TAG() = "ConstraintLayoutStates"` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/constraintlayout/widget/StateSet#StateSet(android.content.Context,org.xmlpull.v1.XmlPullParser)(https://developer.android.com/reference/android/content/Context.html context, https://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html parser)` Parse a StateSet |

| ### Public methods |
|---|---|
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/widget/StateSet#convertToConstraintSet(int,int,float,float)( int currentConstrainSettId, int stateId, float width, float height )` converts a state to a constraintSet |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/widget/StateSet#needsToChange(int,float,float)(int id, float width, float height)` will the layout need to change |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/widget/StateSet#setOnConstraintsChanged(androidx.constraintlayout.widget.ConstraintsChangedListener)( https://developer.android.com/reference/androidx/constraintlayout/widget/ConstraintsChangedListener constraintsChangedListener )` listen for changes in constraintSet |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/widget/StateSet#stateGetConstraintID(int,int,int)(int id, int width, int height)` Get the constraint id for a state |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/widget/StateSet#updateConstraints(int,int,float,float)(int currentId, int id, float width, float height)` Update the Constraints |

## Constants

### TAG

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

```
public static final String TAG = "ConstraintLayoutStates"
```

## Public constructors

### StateSet

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

```
public StateSet(Context context, XmlPullParser parser)
```

Parse a StateSet

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/content/Context.html context` |   |
| `https://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html parser` |   |

## Public methods

### convertToConstraintSet

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

```
public int convertToConstraintSet(
    int currentConstrainSettId,
    int stateId,
    float width,
    float height
)
```

converts a state to a constraintSet

| Parameters |
|---|---|
| `int currentConstrainSettId` |   |
| `int stateId` |   |
| `float width` |   |
| `float height` |   |

| Returns |
|---|---|
| `int` |   |

### needsToChange

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

```
public boolean needsToChange(int id, float width, float height)
```

will the layout need to change

| Parameters |
|---|---|
| `int id` |   |
| `float width` |   |
| `float height` |   |

| Returns |
|---|---|
| `boolean` |   |

### setOnConstraintsChanged

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

```
public void setOnConstraintsChanged(
    ConstraintsChangedListener constraintsChangedListener
)
```

listen for changes in constraintSet

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/widget/ConstraintsChangedListener constraintsChangedListener` |   |

### stateGetConstraintID

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

```
public int stateGetConstraintID(int id, int width, int height)
```

Get the constraint id for a state

| Parameters |
|---|---|
| `int id` |   |
| `int width` |   |
| `int height` |   |

| Returns |
|---|---|
| `int` |   |

### updateConstraints

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

```
public int updateConstraints(int currentId, int id, float width, float height)
```

Update the Constraints

| Parameters |
|---|---|
| `int currentId` |   |
| `int id` |   |
| `float width` |   |
| `float height` |   |

| Returns |
|---|---|
| `int` |   |