# ConstraintWidgetContainer

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

*** ** * ** ***


```
public class ConstraintWidgetContainer extends WidgetContainer
```

<br />

|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) ||||
| ↳ | [androidx.constraintlayout.core.widgets.ConstraintWidget](https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget) |||
|   | ↳ | [androidx.constraintlayout.core.widgets.WidgetContainer](https://developer.android.com/reference/androidx/constraintlayout/core/widgets/WidgetContainer) ||
|   |   | ↳ | [androidx.constraintlayout.core.widgets.ConstraintWidgetContainer](https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer) |

*** ** * ** ***

A container of ConstraintWidget that can layout its children

## Summary

| ### Public fields |
|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/DependencyGraph` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#mDependencyGraph()` ///////////////////////////////////////////////////////////////////////////////////////////// |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#mGroupsWrapOptimized()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#mHorizontalChainsSize()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#mHorizontalWrapOptimized()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/BasicMeasure.Measure` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#mMeasure()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/Metrics` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#mMetrics()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#mSkipSolver()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#mVerticalChainsSize()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#mVerticalWrapOptimized()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#mWrapFixedHeight()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#mWrapFixedWidth()` |

| ### Protected fields |
|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/BasicMeasure.Measurer` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#mMeasurer()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#mSystem()` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#ConstraintWidgetContainer()()` Default constructor |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#ConstraintWidgetContainer(int,int)(int width, int height)` Constructor |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#ConstraintWidgetContainer(java.lang.String,int,int)(https://developer.android.com/reference/java/lang/String.html debugName, int width, int height)` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#ConstraintWidgetContainer(int,int,int,int)(int x, int y, int width, int height)` Constructor |

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#addChildrenToSolver(androidx.constraintlayout.core.LinearSystem)(https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem system)` Add this widget to the solver |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#addHorizontalWrapMaxVariable(androidx.constraintlayout.core.widgets.ConstraintAnchor)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor right)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#addHorizontalWrapMinVariable(androidx.constraintlayout.core.widgets.ConstraintAnchor)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor left)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#defineTerminalWidgets()()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#directMeasure(boolean)(boolean optimizeWrap)` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#directMeasureSetup(boolean)(boolean optimizeWrap)` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#directMeasureWithOrientation(boolean,int)(boolean optimizeWrap, int orientation)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#fillMetrics(androidx.constraintlayout.core.Metrics)(https://developer.android.com/reference/androidx/constraintlayout/core/Metrics metrics)` |
| `https://developer.android.com/reference/java/util/ArrayList.html<https://developer.android.com/reference/androidx/constraintlayout/core/widgets/Guideline>` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#getHorizontalGuidelines()()` Accessor to the horizontal guidelines contained in the table. |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/BasicMeasure.Measurer` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#getMeasurer()()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#getOptimizationLevel()()` Returns the current optimization level |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#getSceneString(java.lang.StringBuilder)(https://developer.android.com/reference/java/lang/StringBuilder.html ret)` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#getSystem()()` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#getType()()` Specify the xml type for the container |
| `https://developer.android.com/reference/java/util/ArrayList.html<https://developer.android.com/reference/androidx/constraintlayout/core/widgets/Guideline>` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#getVerticalGuidelines()()` Accessor to the vertical guidelines contained in the table. |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#handlesInternalConstraints()()` Indicates if the container knows how to layout its content on its own |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#invalidateGraph()()` Invalidate the graph of constraints |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#invalidateMeasures()()` Invalidate the widgets measures |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#isHeightMeasuredTooSmall()()` Return true if the height given is too small for the content laid out |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#isRtl()()` Returns the rtl status. |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#isWidthMeasuredTooSmall()()` Return true if the width given is too small for the content laid out |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#layout()()` Layout the tree of widgets |
| `static boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#measure(int,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.analyzer.BasicMeasure.Measurer,androidx.constraintlayout.core.widgets.analyzer.BasicMeasure.Measure,int)( int level, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget widget, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/BasicMeasure.Measurer measurer, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/BasicMeasure.Measure measure, int measureStrategy )` |
| `long` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#measure(int,int,int,int,int,int,int,int,int)( int optimizationLevel, int widthMode, int widthSize, int heightMode, int heightSize, int lastMeasureWidth, int lastMeasureHeight, int paddingX, int paddingY )` Measure the layout |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#optimizeFor(int)(int feature)` Returns true if the given feature should be optimized |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#reset()()` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#setMeasurer(androidx.constraintlayout.core.widgets.analyzer.BasicMeasure.Measurer)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/BasicMeasure.Measurer measurer)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#setOptimizationLevel(int)(int value)` Resolves the system directly when possible |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#setPadding(int,int,int,int)(int left, int top, int right, int bottom)` Set the padding on this container. |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#setPass(int)(int pass)` Keep track of the # of passes |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#setRtl(boolean)(boolean isRtl)` Set the rtl status. |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#updateChildrenFromSolver(androidx.constraintlayout.core.LinearSystem,boolean[])(https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem system, boolean[] flags)` Update the frame of the layout and its children from the solver |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#updateFromRuns(boolean,boolean)(boolean updateHorizontal, boolean updateVertical)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer#updateHierarchy()()` |

| ### Inherited Constants |
|---|
| From [androidx.constraintlayout.core.widgets.ConstraintWidget](https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget) |---|---| | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#ANCHOR_BASELINE() = 4` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#ANCHOR_BOTTOM() = 3` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#ANCHOR_LEFT() = 0` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#ANCHOR_RIGHT() = 1` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#ANCHOR_TOP() = 2` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#BOTH() = 2` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#CHAIN_PACKED() = 2` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#CHAIN_SPREAD() = 0` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#CHAIN_SPREAD_INSIDE() = 1` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#DIRECT() = 2` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#GONE() = 8` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#HORIZONTAL() = 0` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#INVISIBLE() = 4` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#MATCH_CONSTRAINT_PERCENT() = 2` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#MATCH_CONSTRAINT_RATIO() = 3` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#MATCH_CONSTRAINT_RATIO_RESOLVED() = 4` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#MATCH_CONSTRAINT_SPREAD() = 0` ///////////////////////////////////////////////////////////////////////////////////////////// | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#MATCH_CONSTRAINT_WRAP() = 1` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#SOLVER() = 1` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#UNKNOWN() = -1` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#VERTICAL() = 1` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#VISIBLE() = 0` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#WRAP_BEHAVIOR_HORIZONTAL_ONLY() = 1` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#WRAP_BEHAVIOR_INCLUDED() = 0` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#WRAP_BEHAVIOR_SKIPPED() = 3` | | `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#WRAP_BEHAVIOR_VERTICAL_ONLY() = 2` | |

| ### Inherited fields |
|---|
| From [androidx.constraintlayout.core.widgets.ConstraintWidget](https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget) |---|---| | `static float` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#DEFAULT_BIAS()` | | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#frame()` | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/ChainRun` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#horizontalChainRun()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#horizontalGroup()` ////////////////////////////////END SERIALIZE/////////////////////////////////////////// | | `boolean[]` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isTerminalWidget()` | | `https://developer.android.com/reference/java/util/ArrayList.html<https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor>` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mAnchors()` | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mBaseline()` | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mBottom()` | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mCenter()` | | `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mCircleConstraintAngle()` | | `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mDimensionRatio()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mDimensionRatioSide()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mHorizontalResolution()` | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/HorizontalWidgetRun` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mHorizontalRun()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mIsHeightWrapContent()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mIsWidthWrapContent()` | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mLeft()` | | `ConstraintAnchor[]` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mListAnchors()` | | `ConstraintWidget.DimensionBehaviour[]` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mListDimensionBehaviors()` | | `ConstraintWidget[]` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mListNextMatchConstraintsWidget()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mMatchConstraintDefaultHeight()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mMatchConstraintDefaultWidth()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mMatchConstraintMaxHeight()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mMatchConstraintMaxWidth()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mMatchConstraintMinHeight()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mMatchConstraintMinWidth()` | | `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mMatchConstraintPercentHeight()` | | `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mMatchConstraintPercentWidth()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mMinHeight()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mMinWidth()` | | `ConstraintWidget[]` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mNextChainWidget()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mOffsetX()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mOffsetY()` | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mParent()` | | `int[]` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mResolvedMatchConstraintDefault()` | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mRight()` | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mTop()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mVerticalResolution()` | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/VerticalWidgetRun` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mVerticalRun()` | | `float[]` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mWeight()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mX()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#mY()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#measured()` ///////////////////////////////////////////////////////////////////////////////////////////// | | `WidgetRun[]` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#run()` | | `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#stringId()` | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/ChainRun` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#verticalChainRun()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#verticalGroup()` | |
| From [androidx.constraintlayout.core.widgets.WidgetContainer](https://developer.android.com/reference/androidx/constraintlayout/core/widgets/WidgetContainer) |---|---| | `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/WidgetContainer#mChildren()` | |

| ### Inherited methods |
|---|
| From [androidx.constraintlayout.core.widgets.ConstraintWidget](https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget) |---|---| | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#addChildrenToSolverByDependency(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,androidx.constraintlayout.core.LinearSystem,java.util.HashSet<androidx.constraintlayout.core.widgets.ConstraintWidget>,int,boolean)( https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer container, https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem system, https://developer.android.com/reference/java/util/HashSet.html<https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget> widgets, int orientation, boolean addSelf )` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#addToSolver(androidx.constraintlayout.core.LinearSystem,boolean)(https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem system, boolean optimize)` Add this widget to the solver | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#allowedInBarrier()()` Returns true if this widget should be used in a barrier | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#connect(androidx.constraintlayout.core.widgets.ConstraintAnchor.Type,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.ConstraintAnchor.Type)( https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor.Type constraintFrom, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget target, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor.Type constraintTo )` Connect a given anchor of this widget to another anchor of a target widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#connect(androidx.constraintlayout.core.widgets.ConstraintAnchor,androidx.constraintlayout.core.widgets.ConstraintAnchor,int)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor from, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor to, int margin)` Connect the given anchors together (the from anchor should be owned by this widget) | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#connect(androidx.constraintlayout.core.widgets.ConstraintAnchor.Type,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.ConstraintAnchor.Type,int)( https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor.Type constraintFrom, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget target, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor.Type constraintTo, int margin )` Connect a given anchor of this widget to another anchor of a target widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#connectCircularConstraint(androidx.constraintlayout.core.widgets.ConstraintWidget,float,int)( https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget target, float angle, int radius )` Set a circular constraint | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#copy(androidx.constraintlayout.core.widgets.ConstraintWidget,java.util.HashMap<androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.ConstraintWidget>)( https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget src, https://developer.android.com/reference/java/util/HashMap.html<https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget> map )` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#createObjectVariables(androidx.constraintlayout.core.LinearSystem)(https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem system)` Create all the system variables for this widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#ensureMeasureRequested()()` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#ensureWidgetRuns()()` | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getAnchor(androidx.constraintlayout.core.widgets.ConstraintAnchor.Type)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor.Type anchorType)` Given a type of anchor, returns the corresponding anchor. | | `https://developer.android.com/reference/java/util/ArrayList.html<https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor>` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getAnchors()()` Return the array of anchors of this widget | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getBaselineDistance()()` Return the baseline distance relative to the top of the widget | | `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getBiasPercent(int)(int orientation)` Return the percentage bias that is used when two opposite connections exist of the same strength in a particular orientation. | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getBottom()()` Return the bottom position of the widget | | `https://developer.android.com/reference/java/lang/Object.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getCompanionWidget()()` Return the companion widget. | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getContainerItemSkip()()` Accessor for the skip value | | `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getDebugName()()` Returns the name of this widget (used for debug purposes) | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget.DimensionBehaviour` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getDimensionBehaviour(int)(int orientation)` Get the widget's `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget.DimensionBehaviour` in an specific orientation. | | `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getDimensionRatio()()` Return the current ratio of this widget | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getDimensionRatioSide()()` Return the current side on which ratio will be applied | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getHasBaseline()()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getHeight()()` Return the height of the widget | | `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getHorizontalBiasPercent()()` Return the horizontal percentage bias that is used when two opposite connections exist of the same strength. | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getHorizontalChainControlWidget()()` if in a horizontal chain return the left most widget in the chain. | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getHorizontalChainStyle()()` get the chain starting from this widget to be packed. | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget.DimensionBehaviour` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getHorizontalDimensionBehaviour()()` Accessor for the horizontal dimension behaviour | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getHorizontalMargin()()` Returns all the horizontal margin of the widget. | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getLastHorizontalMeasureSpec()()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getLastVerticalMeasureSpec()()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getLeft()()` Return the left position of the widget (similar to `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getX()`) | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getLength(int)(int orientation)` Get a dimension of the widget in a particular orientation. | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getMaxHeight()()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getMaxWidth()()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getMinHeight()()` Return the minimum height of the widget | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getMinWidth()()` Return the minimum width of the widget | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getNextChainMember(int)(int orientation)` Return the next chain member if one exists | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getOptimizerWrapHeight()()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getOptimizerWrapWidth()()` | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getParent()()` Returns the parent of this widget if there is one | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getPreviousChainMember(int)(int orientation)` Return the previous chain member if one exists | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getRight()()` Return the right position of the widget | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getRootX()()` Return the x position of the widget, relative to the root (without animation) | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getRootY()()` Return the y position of the widget, relative to the root (without animation) | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/analyzer/WidgetRun` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getRun(int)(int orientation)` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getTop()()` Return the top position of the widget (similar to `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getY()`) | | `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getVerticalBiasPercent()()` Return the vertical percentage bias that is used when two opposite connections exist of the same strength. | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getVerticalChainControlWidget()()` if in a vertical chain return the top most widget in the chain. | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getVerticalChainStyle()()` Set the chain starting from this widget to be packed. | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget.DimensionBehaviour` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getVerticalDimensionBehaviour()()` Accessor for the vertical dimension behaviour | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getVerticalMargin()()` Returns all the vertical margin of the widget | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getVisibility()()` Returns the current visibility value for this widget | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getWidth()()` Return the width of the widget | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getWrapBehaviorInParent()()` | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getX()()` Return the x position of the widget, relative to its container | | `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#getY()()` Return the y position of the widget, relative to its container | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#hasBaseline()()` Return true if this widget has a baseline | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#hasDanglingDimension(int)(int orientation)` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#hasDependencies()()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#hasDimensionOverride()()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#hasResolvedTargets(int,int)(int orientation, int size)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#immediateConnect(androidx.constraintlayout.core.widgets.ConstraintAnchor.Type,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.ConstraintAnchor.Type,int,int)( https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor.Type startType, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget target, https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor.Type endType, int margin, int goneMargin )` Immediate connection to an anchor without any checks. | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isAnimated()()` Returns if this widget is animated. | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isHeightWrapContent()()` Returns true if height is set to wrap_content | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isHorizontalSolvingPassDone()()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isInBarrier(int)(int orientation)` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isInHorizontalChain()()` Test if you are in a Horizontal chain | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isInPlaceholder()()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isInVerticalChain()()` Test if you are in a vertical chain | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isInVirtualLayout()()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isMeasureRequested()()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isResolvedHorizontally()()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isResolvedVertically()()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isRoot()()` Returns true if the widget is the root widget | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isSpreadHeight()()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isSpreadWidth()()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isVerticalSolvingPassDone()()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#isWidthWrapContent()()` Returns true if width is set to wrap_content | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#markHorizontalSolvingPassDone()()` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#markVerticalSolvingPassDone()()` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#oppositeDimensionDependsOn(int)(int orientation)` | | `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#oppositeDimensionsTied()()` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#resetAllConstraints()()` Reset all the constraints set on this widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#resetAnchor(androidx.constraintlayout.core.widgets.ConstraintAnchor)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor anchor)` Reset the given anchor | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#resetAnchors()()` Reset all connections | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#resetFinalResolution()()` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#resetSolvingPassFlag()()` | | `https://developer.android.com/reference/java/lang/StringBuilder.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#serialize(java.lang.StringBuilder)(https://developer.android.com/reference/java/lang/StringBuilder.html ret)` Serialize the anchors for JSON5 output | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setAnimated(boolean)(boolean animated)` Set if this widget is animated. | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setBaselineDistance(int)(int baseline)` Set the baseline distance relative to the top of the widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setCompanionWidget(java.lang.Object)(https://developer.android.com/reference/java/lang/Object.html companion)` Set the companion widget. | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setContainerItemSkip(int)(int skip)` Set the skip value for this widget. | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setDebugName(java.lang.String)(https://developer.android.com/reference/java/lang/String.html name)` Set the debug name of this widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setDebugSolverName(androidx.constraintlayout.core.LinearSystem,java.lang.String)(https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem system, https://developer.android.com/reference/java/lang/String.html name)` Utility debug function. | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setDimension(int,int)(int w, int h)` Set both width and height of the widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setDimensionRatio(java.lang.String)(https://developer.android.com/reference/java/lang/String.html ratio)` Set the ratio of the widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setDimensionRatio(float,int)(float ratio, int dimensionRatioSide)` Set the ratio of the widget The ratio will be applied if at least one of the dimension (width or height) is set to a behaviour of DimensionBehaviour.MATCH_CONSTRAINT -- the dimension's value will be set to the other dimension \* ratio. | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setFinalBaseline(int)(int baselineValue)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setFinalFrame(int,int,int,int,int,int)( int left, int top, int right, int bottom, int baseline, int orientation )` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setFinalHorizontal(int,int)(int x1, int x2)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setFinalLeft(int)(int x1)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setFinalTop(int)(int y1)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setFinalVertical(int,int)(int y1, int y2)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setFrame(int,int,int)(int start, int end, int orientation)` Set the position+dimension of the widget based on starting/ending positions on one dimension. | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setFrame(int,int,int,int)(int left, int top, int right, int bottom)` Set the position+dimension of the widget given left/top/right/bottom | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setGoneMargin(androidx.constraintlayout.core.widgets.ConstraintAnchor.Type,int)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintAnchor.Type type, int goneMargin)` Set the margin to be used when connected to a widget with a visibility of GONE | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setHasBaseline(boolean)(boolean hasBaseline)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setHeight(int)(int h)` Set the height of the widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setHeightWrapContent(boolean)(boolean heightWrapContent)` Keep track of wrap_content for height | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setHorizontalBiasPercent(float)(float horizontalBiasPercent)` Set the horizontal bias percent to apply when we have two opposite constraints of equal strength | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setHorizontalChainStyle(int)(int horizontalChainStyle)` Set the chain starting from this widget to be packed. | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setHorizontalDimension(int,int)(int left, int right)` Set the positions for the horizontal dimension only | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setHorizontalDimensionBehaviour(androidx.constraintlayout.core.widgets.ConstraintWidget.DimensionBehaviour)( https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget.DimensionBehaviour behaviour )` Set the widget's behaviour for the horizontal dimension | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setHorizontalMatchStyle(int,int,int,float)( int horizontalMatchStyle, int min, int max, float percent )` Set the horizontal style when MATCH_CONSTRAINT is set | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setHorizontalWeight(float)(float horizontalWeight)` Set the horizontal weight (only used in chains) | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setInBarrier(int,boolean)(int orientation, boolean value)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setInPlaceholder(boolean)(boolean inPlaceholder)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setInVirtualLayout(boolean)(boolean inVirtualLayout)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setLastMeasureSpec(int,int)(int horizontal, int vertical)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setLength(int,int)(int length, int orientation)` Set the dimension of a widget in a particular orientation. | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setMaxHeight(int)(int maxHeight)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setMaxWidth(int)(int maxWidth)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setMeasureRequested(boolean)(boolean measureRequested)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setMinHeight(int)(int h)` Set the minimum height of the widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setMinWidth(int)(int w)` Set the minimum width of the widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setOrigin(int,int)(int x, int y)` Set both the origin in (x, y) of the widget, relative to its container | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setParent(androidx.constraintlayout.core.widgets.ConstraintWidget)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget widget)` Set the parent of this widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setType(java.lang.String)(https://developer.android.com/reference/java/lang/String.html type)` Set the type of the widget (as a String) | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setVerticalBiasPercent(float)(float verticalBiasPercent)` Set the vertical bias percent to apply when we have two opposite constraints of equal strength | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setVerticalChainStyle(int)(int verticalChainStyle)` Set the chain starting from this widget to be packed. | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setVerticalDimension(int,int)(int top, int bottom)` Set the positions for the vertical dimension only | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setVerticalDimensionBehaviour(androidx.constraintlayout.core.widgets.ConstraintWidget.DimensionBehaviour)( https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget.DimensionBehaviour behaviour )` Set the widget's behaviour for the vertical dimension | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setVerticalMatchStyle(int,int,int,float)( int verticalMatchStyle, int min, int max, float percent )` Set the vertical style when MATCH_CONSTRAINT is set | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setVerticalWeight(float)(float verticalWeight)` Set the vertical weight (only used in chains) | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setVisibility(int)(int visibility)` Set the visibility for this widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setWidth(int)(int w)` Set the width of the widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setWidthWrapContent(boolean)(boolean widthWrapContent)` Keep track of wrap_content for width | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setWrapBehaviorInParent(int)(int behavior)` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setX(int)(int x)` Set the x position of the widget, relative to its container | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setY(int)(int y)` Set the y position of the widget, relative to its container | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#setupDimensionRatio(boolean,boolean,boolean,boolean)( boolean hParentWrapContent, boolean vParentWrapContent, boolean horizontalDimensionFixed, boolean verticalDimensionFixed )` Resolves the dimension ratio parameters (mResolvedDimensionRatioSide \&mDimensionRatio) | | `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#toString()()` Returns a string representation of the ConstraintWidget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget#updateFromSolver(androidx.constraintlayout.core.LinearSystem,boolean)(https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem system, boolean optimize)` Update the widget from the values generated by the solver | |
| From [androidx.constraintlayout.core.widgets.WidgetContainer](https://developer.android.com/reference/androidx/constraintlayout/core/widgets/WidgetContainer) |---|---| | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/WidgetContainer#add(androidx.constraintlayout.core.widgets.ConstraintWidget)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget widget)` Add a child widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/WidgetContainer#add(androidx.constraintlayout.core.widgets.ConstraintWidget...)(ConstraintWidget[] widgets)` Add multiple child widgets. | | `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/WidgetContainer#getChildren()()` Access the children | | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidgetContainer` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/WidgetContainer#getRootConstraintContainer()()` Return the top-level ConstraintWidgetContainer | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/WidgetContainer#remove(androidx.constraintlayout.core.widgets.ConstraintWidget)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget widget)` Remove a child widget | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/WidgetContainer#removeAllChildren()()` | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/WidgetContainer#resetSolverVariables(androidx.constraintlayout.core.Cache)(https://developer.android.com/reference/androidx/constraintlayout/core/Cache cache)` Reset the solver variables of the anchors | | `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/WidgetContainer#setOffset(int,int)(int x, int y)` Set the offset of this widget relative to the root widget. | |

## Public fields

### mDependencyGraph

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

```
public DependencyGraph mDependencyGraph
```

/////////////////////////////////////////////////////////////////////////////////////////////

### mGroupsWrapOptimized

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

```
public boolean mGroupsWrapOptimized
```

### mHorizontalChainsSize

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

```
public int mHorizontalChainsSize
```

### mHorizontalWrapOptimized

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

```
public boolean mHorizontalWrapOptimized
```

### mMeasure

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

```
public BasicMeasure.Measure mMeasure
```

### mMetrics

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

```
public Metrics mMetrics
```

### mSkipSolver

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

```
public boolean mSkipSolver
```

### mVerticalChainsSize

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

```
public int mVerticalChainsSize
```

### mVerticalWrapOptimized

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

```
public boolean mVerticalWrapOptimized
```

### mWrapFixedHeight

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

```
public int mWrapFixedHeight
```

### mWrapFixedWidth

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

```
public int mWrapFixedWidth
```

## Protected fields

### mMeasurer

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

```
protected BasicMeasure.Measurer mMeasurer
```

### mSystem

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

```
protected LinearSystem mSystem
```

## Public constructors

### ConstraintWidgetContainer

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

```
public ConstraintWidgetContainer()
```

Default constructor

### ConstraintWidgetContainer

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

```
public ConstraintWidgetContainer(int width, int height)
```

Constructor

| Parameters |
|---|---|
| `int width` | width of the layout |
| `int height` | height of the layout |

### ConstraintWidgetContainer

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

```
public ConstraintWidgetContainer(String debugName, int width, int height)
```

### ConstraintWidgetContainer

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

```
public ConstraintWidgetContainer(int x, int y, int width, int height)
```

Constructor

| Parameters |
|---|---|
| `int x` | x position |
| `int y` | y position |
| `int width` | width of the layout |
| `int height` | height of the layout |

## Public methods

### addChildrenToSolver

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

```
public boolean addChildrenToSolver(LinearSystem system)
```

Add this widget to the solver

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem system` | the solver we want to add the widget to |

### addHorizontalWrapMaxVariable

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

```
public void addHorizontalWrapMaxVariable(ConstraintAnchor right)
```

### addHorizontalWrapMinVariable

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

```
public void addHorizontalWrapMinVariable(ConstraintAnchor left)
```

### defineTerminalWidgets

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

```
public void defineTerminalWidgets()
```

### directMeasure

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

```
public boolean directMeasure(boolean optimizeWrap)
```

### directMeasureSetup

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

```
public boolean directMeasureSetup(boolean optimizeWrap)
```

### directMeasureWithOrientation

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

```
public boolean directMeasureWithOrientation(boolean optimizeWrap, int orientation)
```

### fillMetrics

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

```
public void fillMetrics(Metrics metrics)
```

### getHorizontalGuidelines

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

```
public ArrayList<Guideline> getHorizontalGuidelines()
```

Accessor to the horizontal guidelines contained in the table.

| Returns |
|---|---|
| `https://developer.android.com/reference/java/util/ArrayList.html<https://developer.android.com/reference/androidx/constraintlayout/core/widgets/Guideline>` | array of guidelines |

### getMeasurer

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

```
public BasicMeasure.Measurer getMeasurer()
```

### getOptimizationLevel

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

```
public int getOptimizationLevel()
```

Returns the current optimization level

### getSceneString

```
public void getSceneString(StringBuilder ret)
```

### getSystem

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

```
public LinearSystem getSystem()
```

### getType

```
public String getType()
```

Specify the xml type for the container

### getVerticalGuidelines

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

```
public ArrayList<Guideline> getVerticalGuidelines()
```

Accessor to the vertical guidelines contained in the table.

| Returns |
|---|---|
| `https://developer.android.com/reference/java/util/ArrayList.html<https://developer.android.com/reference/androidx/constraintlayout/core/widgets/Guideline>` | array of guidelines |

### handlesInternalConstraints

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

```
public boolean handlesInternalConstraints()
```

Indicates if the container knows how to layout its content on its own

| Returns |
|---|---|
| `boolean` | true if the container does the layout, false otherwise |

### invalidateGraph

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

```
public void invalidateGraph()
```

Invalidate the graph of constraints

### invalidateMeasures

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

```
public void invalidateMeasures()
```

Invalidate the widgets measures

### isHeightMeasuredTooSmall

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

```
public boolean isHeightMeasuredTooSmall()
```

Return true if the height given is too small for the content laid out

### isRtl

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

```
public boolean isRtl()
```

Returns the rtl status.

| Returns |
|---|---|
| `boolean` | true if in RTL, false otherwise. |

### isWidthMeasuredTooSmall

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

```
public boolean isWidthMeasuredTooSmall()
```

Return true if the width given is too small for the content laid out

### layout

```
public void layout()
```

Layout the tree of widgets

### measure

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

```
public static boolean measure(
    int level,
    ConstraintWidget widget,
    BasicMeasure.Measurer measurer,
    BasicMeasure.Measure measure,
    int measureStrategy
)
```

### measure

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

```
public long measure(
    int optimizationLevel,
    int widthMode,
    int widthSize,
    int heightMode,
    int heightSize,
    int lastMeasureWidth,
    int lastMeasureHeight,
    int paddingX,
    int paddingY
)
```

Measure the layout

### optimizeFor

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

```
public boolean optimizeFor(int feature)
```

Returns true if the given feature should be optimized

### reset

```
public void reset()
```

### setMeasurer

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

```
public void setMeasurer(BasicMeasure.Measurer measurer)
```

### setOptimizationLevel

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

```
public void setOptimizationLevel(int value)
```

Resolves the system directly when possible

| Parameters |
|---|---|
| `int value` | optimization level |

### setPadding

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

```
public void setPadding(int left, int top, int right, int bottom)
```

Set the padding on this container. It will apply to the position of the children.

| Parameters |
|---|---|
| `int left` | left padding |
| `int top` | top padding |
| `int right` | right padding |
| `int bottom` | bottom padding |

### setPass

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

```
public void setPass(int pass)
```

Keep track of the # of passes

### setRtl

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

```
public void setRtl(boolean isRtl)
```

Set the rtl status. This has implications for Chains.

| Parameters |
|---|---|
| `boolean isRtl` | true if we are in RTL. |

### updateChildrenFromSolver

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

```
public boolean updateChildrenFromSolver(LinearSystem system, boolean[] flags)
```

Update the frame of the layout and its children from the solver

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem system` | the solver we get the values from. |

### updateFromRuns

```
public void updateFromRuns(boolean updateHorizontal, boolean updateVertical)
```

### updateHierarchy

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

```
public void updateHierarchy()
```