# ChainHead

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

*** ** * ** ***


```
public class ChainHead
```

<br />

*** ** * ** ***

Class to represent a chain by its main elements.

## Summary

| ### Protected fields |
|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mFirst()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mFirstMatchConstraintWidget()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mFirstVisibleWidget()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mHasComplexMatchWeights()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mHasDefinedWeights()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mHasRatio()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mHasUndefinedWeights()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mHead()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mLast()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mLastMatchConstraintWidget()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mLastVisibleWidget()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mTotalWeight()` |
| `https://developer.android.com/reference/java/util/ArrayList.html<https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget>` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mWeightedMatchConstraintsWidgets()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mWidgetsCount()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#mWidgetsMatchCount()` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#ChainHead(androidx.constraintlayout.core.widgets.ConstraintWidget,int,boolean)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget first, int orientation, boolean isRtl)` Initialize variables, then determine visible widgets, the head of chain and matched constraint widgets. |

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#define()()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#getFirst()()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#getFirstMatchConstraintWidget()()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#getFirstVisibleWidget()()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#getHead()()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#getLast()()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#getLastMatchConstraintWidget()()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#getLastVisibleWidget()()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ChainHead#getTotalWeight()()` |

## Protected fields

### mFirst

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

```
protected ConstraintWidget mFirst
```

### mFirstMatchConstraintWidget

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

```
protected ConstraintWidget mFirstMatchConstraintWidget
```

### mFirstVisibleWidget

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

```
protected ConstraintWidget mFirstVisibleWidget
```

### mHasComplexMatchWeights

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

```
protected boolean mHasComplexMatchWeights
```

### mHasDefinedWeights

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

```
protected boolean mHasDefinedWeights
```

### mHasRatio

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

```
protected boolean mHasRatio
```

### mHasUndefinedWeights

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

```
protected boolean mHasUndefinedWeights
```

### mHead

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

```
protected ConstraintWidget mHead
```

### mLast

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

```
protected ConstraintWidget mLast
```

### mLastMatchConstraintWidget

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

```
protected ConstraintWidget mLastMatchConstraintWidget
```

### mLastVisibleWidget

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

```
protected ConstraintWidget mLastVisibleWidget
```

### mTotalWeight

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

```
protected float mTotalWeight
```

### mWeightedMatchConstraintsWidgets

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

```
protected ArrayList<ConstraintWidget> mWeightedMatchConstraintsWidgets
```

### mWidgetsCount

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

```
protected int mWidgetsCount
```

### mWidgetsMatchCount

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

```
protected int mWidgetsMatchCount
```

## Public constructors

### ChainHead

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

```
public ChainHead(ConstraintWidget first, int orientation, boolean isRtl)
```

Initialize variables, then determine visible widgets, the head of chain and matched constraint widgets.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget first` | first widget in a chain |
| `int orientation` | orientation of the chain (either Horizontal or Vertical) |
| `boolean isRtl` | Right-to-left layout flag to determine the actual head of the chain |

## Public methods

### define

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

```
public void define()
```

### getFirst

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

```
public ConstraintWidget getFirst()
```

### getFirstMatchConstraintWidget

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

```
public ConstraintWidget getFirstMatchConstraintWidget()
```

### getFirstVisibleWidget

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

```
public ConstraintWidget getFirstVisibleWidget()
```

### getHead

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

```
public ConstraintWidget getHead()
```

### getLast

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

```
public ConstraintWidget getLast()
```

### getLastMatchConstraintWidget

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

```
public ConstraintWidget getLastMatchConstraintWidget()
```

### getLastVisibleWidget

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

```
public ConstraintWidget getLastVisibleWidget()
```

### getTotalWeight

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

```
public float getTotalWeight()
```