# WidgetFrame

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

*** ** * ** ***


```
public class WidgetFrame
```

<br />

*** ** * ** ***

Utility class to encapsulate layout of a widget

## Summary

| ### Public fields |
|---|---|
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#alpha()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#bottom()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#interpolatedPos()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#left()` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#name()` |
| `static float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#phone_orientation()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#pivotX()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#pivotY()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#right()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#rotationX()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#rotationY()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#rotationZ()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#scaleX()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#scaleY()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#top()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#translationX()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#translationY()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#translationZ()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#visibility()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#widget()` |

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

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#addCustomColor(java.lang.String,int)(https://developer.android.com/reference/java/lang/String.html name, int color)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#addCustomFloat(java.lang.String,float)(https://developer.android.com/reference/java/lang/String.html name, float value)` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#centerX()()` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#centerY()()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#containsCustom(java.lang.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html name)` Return whether this WidgetFrame contains a custom property of the given name. |
| `https://developer.android.com/reference/androidx/constraintlayout/core/motion/CustomVariable` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#getCustomAttribute(java.lang.String)(https://developer.android.com/reference/java/lang/String.html name)` Get the custom attribute given Nam |
| `https://developer.android.com/reference/java/util/Set.html<https://developer.android.com/reference/java/lang/String.html>` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#getCustomAttributeNames()()` Get the known custom Attributes names |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#getCustomColor(java.lang.String)(https://developer.android.com/reference/java/lang/String.html name)` |
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#getCustomFloat(java.lang.String)(https://developer.android.com/reference/java/lang/String.html name)` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#getId()()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedBundle` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#getMotionProperties()()` get the property bundle associated with MotionAttributes |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#height()()` |
| `static void` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#interpolate(int,int,androidx.constraintlayout.core.state.WidgetFrame,androidx.constraintlayout.core.state.WidgetFrame,androidx.constraintlayout.core.state.WidgetFrame,androidx.constraintlayout.core.state.Transition,float)( int parentWidth, int parentHeight, https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame frame, https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame start, https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame end, https://developer.android.com/reference/androidx/constraintlayout/core/state/Transition transition, float progress )` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#isDefaultTransform()()` |
| `https://developer.android.com/reference/java/lang/StringBuilder.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#serialize(java.lang.StringBuilder)(https://developer.android.com/reference/java/lang/StringBuilder.html ret)` |
| `https://developer.android.com/reference/java/lang/StringBuilder.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#serialize(java.lang.StringBuilder,boolean)(https://developer.android.com/reference/java/lang/StringBuilder.html ret, boolean sendPhoneOrientation)` If true also send the phone orientation |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#setCustomAttribute(java.lang.String,int,boolean)(https://developer.android.com/reference/java/lang/String.html name, int type, boolean value)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#setCustomAttribute(java.lang.String,int,float)(https://developer.android.com/reference/java/lang/String.html name, int type, float value)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#setCustomAttribute(java.lang.String,int,int)(https://developer.android.com/reference/java/lang/String.html name, int type, int value)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#setCustomAttribute(java.lang.String,int,java.lang.String)(https://developer.android.com/reference/java/lang/String.html name, int type, https://developer.android.com/reference/java/lang/String.html value)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#setCustomValue(androidx.constraintlayout.core.motion.CustomAttribute,float[])(https://developer.android.com/reference/androidx/constraintlayout/core/motion/CustomAttribute valueAt, float[] mTempValues)` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#setValue(java.lang.String,androidx.constraintlayout.core.parser.CLElement)(https://developer.android.com/reference/java/lang/String.html key, https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLElement value)` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#update()()` |
| `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#update(androidx.constraintlayout.core.widgets.ConstraintWidget)(https://developer.android.com/reference/androidx/constraintlayout/core/widgets/ConstraintWidget widget)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#updateAttributes(androidx.constraintlayout.core.state.WidgetFrame)(https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame frame)` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/state/WidgetFrame#width()()` |

## Public fields

### alpha

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

```
public float alpha
```

### bottom

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

```
public int bottom
```

### interpolatedPos

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

```
public float interpolatedPos
```

### left

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

```
public int left
```

### name

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

```
public String name
```

### phone_orientation

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

```
public static float phone_orientation
```

### pivotX

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

```
public float pivotX
```

### pivotY

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

```
public float pivotY
```

### right

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

```
public int right
```

### rotationX

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

```
public float rotationX
```

### rotationY

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

```
public float rotationY
```

### rotationZ

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

```
public float rotationZ
```

### scaleX

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

```
public float scaleX
```

### scaleY

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

```
public float scaleY
```

### top

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

```
public int top
```

### translationX

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

```
public float translationX
```

### translationY

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

```
public float translationY
```

### translationZ

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

```
public float translationZ
```

### visibility

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

```
public int visibility
```

### widget

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

```
public ConstraintWidget widget
```

## Public constructors

### WidgetFrame

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

```
public WidgetFrame()
```

### WidgetFrame

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

```
public WidgetFrame(WidgetFrame frame)
```

### WidgetFrame

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

```
public WidgetFrame(ConstraintWidget widget)
```

## Public methods

### addCustomColor

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

```
public void addCustomColor(String name, int color)
```

### addCustomFloat

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

```
public void addCustomFloat(String name, float value)
```

### centerX

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

```
public float centerX()
```

### centerY

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

```
public float centerY()
```

### containsCustom

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

```
public boolean containsCustom(@NonNull String name)
```

Return whether this WidgetFrame contains a custom property of the given name.

### getCustomAttribute

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

```
public CustomVariable getCustomAttribute(String name)
```

Get the custom attribute given Nam

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html name` | Name of the custom attribut |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/motion/CustomVariable` | The customAttribute |

### getCustomAttributeNames

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

```
public Set<String> getCustomAttributeNames()
```

Get the known custom Attributes names

| Returns |
|---|---|
| `https://developer.android.com/reference/java/util/Set.html<https://developer.android.com/reference/java/lang/String.html>` | set of custom attribute names |

### getCustomColor

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

```
public int getCustomColor(String name)
```

### getCustomFloat

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

```
public float getCustomFloat(String name)
```

### getId

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

```
public String getId()
```

### getMotionProperties

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

```
public TypedBundle getMotionProperties()
```

get the property bundle associated with MotionAttributes

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/TypedBundle` | the property bundle associated with MotionAttributes or null |

### height

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

```
public int height()
```

### interpolate

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

```
public static void interpolate(
    int parentWidth,
    int parentHeight,
    WidgetFrame frame,
    WidgetFrame start,
    WidgetFrame end,
    Transition transition,
    float progress
)
```

### isDefaultTransform

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

```
public boolean isDefaultTransform()
```

### serialize

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

```
public StringBuilder serialize(StringBuilder ret)
```

### serialize

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

```
public StringBuilder serialize(StringBuilder ret, boolean sendPhoneOrientation)
```

If true also send the phone orientation

### setCustomAttribute

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

```
public void setCustomAttribute(String name, int type, boolean value)
```

### setCustomAttribute

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

```
public void setCustomAttribute(String name, int type, float value)
```

### setCustomAttribute

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

```
public void setCustomAttribute(String name, int type, int value)
```

### setCustomAttribute

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

```
public void setCustomAttribute(String name, int type, String value)
```

### setCustomValue

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

```
public void setCustomValue(CustomAttribute valueAt, float[] mTempValues)
```

### setValue

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

```
public boolean setValue(String key, CLElement value)
```

| Throws |
|---|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/parser/CLParsingException` |   |

### update

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

```
public WidgetFrame update()
```

### update

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

```
public WidgetFrame update(ConstraintWidget widget)
```

### updateAttributes

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

```
public void updateAttributes(WidgetFrame frame)
```

### width

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

```
public int width()
```