# WidgetRun

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

*** ** * ** ***


```
public abstract class WidgetRun implements Dependency
```

<br />

Known direct subclasses [ChainRun](https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/ChainRun), [HorizontalWidgetRun](https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/HorizontalWidgetRun), [VerticalWidgetRun](https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/VerticalWidgetRun)

|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/ChainRun` |   |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/HorizontalWidgetRun` |   |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/VerticalWidgetRun` |   |

*** ** * ** ***

## Summary

| ### Public fields |
|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/DependencyNode` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#end()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#matchConstraintsType()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#orientation()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/DependencyNode` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#start()` |

| ### Protected fields |
|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget.DimensionBehaviour` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#mDimensionBehavior()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun.RunType` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#mRunType()` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#WidgetRun(androidx.constraintlayout.core.widgets.ConstraintWidget)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget widget)` |

| ### Public methods |
|---|---|
| `long` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#getWrapDimension()()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#isCenterConnection()()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#isDimensionResolved()()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#isResolved()()` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#update(androidx.constraintlayout.core.widgets.analyzer.Dependency)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/Dependency dependency)` |
| `long` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#wrapSize(int)(int direction)` |

| ### Protected methods |
|---|---|
| `final void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#addTarget(androidx.constraintlayout.core.widgets.analyzer.DependencyNode,androidx.constraintlayout.core.widgets.analyzer.DependencyNode,int)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/DependencyNode node, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/DependencyNode target, int margin)` |
| `final void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#addTarget(androidx.constraintlayout.core.widgets.analyzer.DependencyNode,androidx.constraintlayout.core.widgets.analyzer.DependencyNode,int,androidx.constraintlayout.core.widgets.analyzer.DimensionDependency)( https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/DependencyNode node, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/DependencyNode target, int marginFactor, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/DimensionDependency dimensionDependency )` |
| `final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#getLimitedDimension(int,int)(int dimension, int orientation)` |
| `final https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/DependencyNode` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#getTarget(androidx.constraintlayout.core.widgets.ConstraintAnchor)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor anchor)` |
| `final https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/DependencyNode` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#getTarget(androidx.constraintlayout.core.widgets.ConstraintAnchor,int)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor anchor, int orientation)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#updateRunCenter(androidx.constraintlayout.core.widgets.analyzer.Dependency,androidx.constraintlayout.core.widgets.ConstraintAnchor,androidx.constraintlayout.core.widgets.ConstraintAnchor,int)( https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/Dependency dependency, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor startAnchor, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor endAnchor, int orientation )` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#updateRunEnd(androidx.constraintlayout.core.widgets.analyzer.Dependency)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/Dependency dependency)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun#updateRunStart(androidx.constraintlayout.core.widgets.analyzer.Dependency)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/Dependency dependency)` |

## Public fields

### end

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

```
public DependencyNode end
```

### matchConstraintsType

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

```
public int matchConstraintsType
```

### orientation

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

```
public int orientation
```

### start

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

```
public DependencyNode start
```

## Protected fields

### mDimensionBehavior

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

```
protected ConstraintWidget.DimensionBehaviour mDimensionBehavior
```

### mRunType

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

```
protected WidgetRun.RunType mRunType
```

## Public constructors

### WidgetRun

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

```
public WidgetRun(ConstraintWidget widget)
```

## Public methods

### getWrapDimension

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

```
public long getWrapDimension()
```

### isCenterConnection

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

```
public boolean isCenterConnection()
```

### isDimensionResolved

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

```
public boolean isDimensionResolved()
```

### isResolved

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

```
public boolean isResolved()
```

### update

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

```
public void update(Dependency dependency)
```

### wrapSize

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

```
public long wrapSize(int direction)
```

## Protected methods

### addTarget

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

```
protected final void addTarget(DependencyNode node, DependencyNode target, int margin)
```

### addTarget

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

```
protected final void addTarget(
    DependencyNode node,
    DependencyNode target,
    int marginFactor,
    DimensionDependency dimensionDependency
)
```

### getLimitedDimension

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

```
protected final int getLimitedDimension(int dimension, int orientation)
```

### getTarget

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

```
protected final DependencyNode getTarget(ConstraintAnchor anchor)
```

### getTarget

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

```
protected final DependencyNode getTarget(ConstraintAnchor anchor, int orientation)
```

### updateRunCenter

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

```
protected void updateRunCenter(
    Dependency dependency,
    ConstraintAnchor startAnchor,
    ConstraintAnchor endAnchor,
    int orientation
)
```

### updateRunEnd

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

```
protected void updateRunEnd(Dependency dependency)
```

### updateRunStart

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

```
protected void updateRunStart(Dependency dependency)
```