# LayoutElementBuilders.Arc.Builder

Artifact: [androidx.wear.protolayout:protolayout](https://developer.android.com/jetpack/androidx/releases/wear-protolayout) [View Source](https://cs.android.com/search?q=file:androidx/wear/protolayout/LayoutElementBuilders.java+class:androidx.wear.protolayout.LayoutElementBuilders.Arc.Builder) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

*** ** * ** ***


```
public final class LayoutElementBuilders.Arc.Builder
```

<br />

*** ** * ** ***

Builder for `https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder#Builder()()` Creates an instance of `https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder`. |

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 0) https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder#addContent(androidx.wear.protolayout.LayoutElementBuilders.ArcLayoutElement)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.ArcLayoutElement content)` Adds one item to contents of this container. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc` | `https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder#build()()` Builds an instance from accumulated values. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 0) https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder#setAnchorAngle(androidx.wear.protolayout.DimensionBuilders.DegreesProp)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/DimensionBuilders.DegreesProp anchorAngle)` Sets the angle for the anchor, used with anchor_type to determine where to draw children. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 0) https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder#setAnchorType(int)(int anchorType)` Sets how to align the contents of this container relative to anchor_angle. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 0) https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder#setAnchorType(androidx.wear.protolayout.LayoutElementBuilders.ArcAnchorTypeProp)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.ArcAnchorTypeProp anchorType )` Sets how to align the contents of this container relative to anchor_angle. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 300) https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder#setArcDirection(int)(int arcDirection)` Sets the direction in which child elements are laid out. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 300) https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder#setArcDirection(androidx.wear.protolayout.LayoutElementBuilders.ArcDirectionProp)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.ArcDirectionProp arcDirection )` Sets the direction in which child elements are laid out. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 0) https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder#setModifiers(androidx.wear.protolayout.ModifiersBuilders.Modifiers)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/ModifiersBuilders.Modifiers modifiers)` Sets `https://developer.android.com/reference/androidx/wear/protolayout/ModifiersBuilders.Modifiers` for this element. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 0) https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder#setVerticalAlign(int)(int verticalAlign)` Sets vertical alignment of elements within the arc. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 0) https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder#setVerticalAlign(androidx.wear.protolayout.LayoutElementBuilders.VerticalAlignmentProp)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.VerticalAlignmentProp verticalAlign )` Sets vertical alignment of elements within the arc. |

## Public constructors

### Builder

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
public Builder()
```

Creates an instance of `https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc.Builder`.

## Public methods

### addContent

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Arc.Builder addContent(@NonNull LayoutElementBuilders.ArcLayoutElement content)
```

Adds one item to contents of this container.

### build

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
public @NonNull LayoutElementBuilders.Arc build()
```

Builds an instance from accumulated values.

### setAnchorAngle

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Arc.Builder setAnchorAngle(@NonNull DimensionBuilders.DegreesProp anchorAngle)
```

Sets the angle for the anchor, used with anchor_type to determine where to draw children. Note that 0 degrees is the 12 o clock position on a device, and the angle sweeps clockwise. If not defined, defaults to 0 degrees.

Values do not have to be clamped to the range 0-360; values less than 0 degrees will sweep anti-clockwise (i.e. -90 degrees is equivalent to 270 degrees), and values \>360 will be be placed at X mod 360 degrees.

While this field is statically accessible from 1.0, it's only bindable since version 1.2 and renderers supporting version 1.2 will use the dynamic value (if set).

### setAnchorType

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Arc.Builder setAnchorType(int anchorType)
```

Sets how to align the contents of this container relative to anchor_angle. If not defined, defaults to ARC_ANCHOR_CENTER.

### setAnchorType

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Arc.Builder setAnchorType(
    @NonNull LayoutElementBuilders.ArcAnchorTypeProp anchorType
)
```

Sets how to align the contents of this container relative to anchor_angle. If not defined, defaults to ARC_ANCHOR_CENTER.

### setArcDirection

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.2.0)

```
@RequiresSchemaVersion(major = 1, minor = 300)
public @NonNull LayoutElementBuilders.Arc.Builder setArcDirection(int arcDirection)
```

Sets the direction in which child elements are laid out. If not set, defaults to ARC_DIRECTION_NORMAL.

### setArcDirection

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.2.0)

```
@RequiresSchemaVersion(major = 1, minor = 300)
public @NonNull LayoutElementBuilders.Arc.Builder setArcDirection(
    @NonNull LayoutElementBuilders.ArcDirectionProp arcDirection
)
```

Sets the direction in which child elements are laid out. If not set, defaults to ARC_DIRECTION_NORMAL.

### setModifiers

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Arc.Builder setModifiers(@NonNull ModifiersBuilders.Modifiers modifiers)
```

Sets `https://developer.android.com/reference/androidx/wear/protolayout/ModifiersBuilders.Modifiers` for this element.

### setVerticalAlign

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Arc.Builder setVerticalAlign(int verticalAlign)
```

Sets vertical alignment of elements within the arc. If the `https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc`'s thickness is larger than the thickness of the element being drawn, this controls whether the element should be drawn towards the inner or outer edge of the arc, or drawn in the center. If not defined, defaults to VERTICAL_ALIGN_CENTER.

### setVerticalAlign

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Arc.Builder setVerticalAlign(
    @NonNull LayoutElementBuilders.VerticalAlignmentProp verticalAlign
)
```

Sets vertical alignment of elements within the arc. If the `https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc`'s thickness is larger than the thickness of the element being drawn, this controls whether the element should be drawn towards the inner or outer edge of the arc, or drawn in the center. If not defined, defaults to VERTICAL_ALIGN_CENTER.