# Chip

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

*** ** * ** ***


```
public class Chip implements LayoutElementBuilders.LayoutElement
```

<br />

*** ** * ** ***

ProtoLayout component `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip` that represents clickable object with the text, optional label and optional icon or with custom content.

The Chip is Stadium shape that has a max height designed to take no more than two lines of text of `https://developer.android.com/reference/androidx/wear/protolayout/material/Typography#TYPOGRAPHY_BUTTON()` style and with minimum tap target to meet accessibility requirements. The `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip` can have an icon horizontally parallel to the two lines of text. Width of chip can very, and the recommended size is screen dependent with the recommended margin being applied.

The recommended set of `https://developer.android.com/reference/androidx/wear/protolayout/material/ChipColors` styles can be obtained from `https://developer.android.com/reference/androidx/wear/protolayout/material/ChipDefaults`., e.g. `https://developer.android.com/reference/androidx/wear/protolayout/material/ChipDefaults#PRIMARY_COLORS()` to get a color scheme for a primary `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip`.

When accessing the contents of a container for testing, note that this element can't be simply casted back to the original type, i.e.:

```
Chip chip = new Chip...
Box box = new Box.Builder().addContent(chip).build();

Chip myChip = (Chip) box.getContents().get(0);
```
will fail.

To be able to get `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip` object from any layout element, `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip#fromLayoutElement(androidx.wear.protolayout.LayoutElementBuilders.LayoutElement)` method should be used, i.e.:

```
Chip myChip = Chip.fromLayoutElement(box.getContents().get(0));
```

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/wear/protolayout/material/layouts/PrimaryLayout.Builder#setContent(androidx.wear.protolayout.LayoutElementBuilders.LayoutElement)` | if this Chip is used inside of `https://developer.android.com/reference/androidx/wear/protolayout/material/layouts/PrimaryLayout`. |

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/wear/protolayout/material/Chip.Builder` Builder class for `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip`. |

| ### Public methods |
|---|---|
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/wear/protolayout/material/Chip` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip#fromLayoutElement(androidx.wear.protolayout.LayoutElementBuilders.LayoutElement)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.LayoutElement element)` Returns Chip object from the given LayoutElement (e.g. one retrieved from a container's content with `container.getContents().get(index)`) if that element can be converted to Chip. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/material/ChipColors` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip#getChipColors()()` Returns chip colors of this Chip. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/ModifiersBuilders.Clickable` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip#getClickable()()` Returns click event action associated with this Chip. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/wear/protolayout/TypeBuilders.StringProp` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip#getContentDescription()()` Returns content description of this Chip. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.LayoutElement` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip#getCustomContent()()` Returns custom content from this Chip if it has been added. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/DimensionBuilders.ContainerDimension` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip#getHeight()()` Returns the visible height of this Chip. |
| `int` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip#getHorizontalAlignment()()` Returns the horizontal alignment of the content in this Chip. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip#getIconContent()()` Returns icon id from this Chip if it has been added. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip#getPrimaryLabelContent()()` Returns primary label from this Chip if it has been added. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip#getSecondaryLabelContent()()` Returns secondary label from this Chip if it has been added. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/DimensionBuilders.ContainerDimension` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Chip#getWidth()()` Returns width of this Chip. |

## Public methods

### fromLayoutElement

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

```
public static @Nullable Chip fromLayoutElement(@NonNull LayoutElementBuilders.LayoutElement element)
```

Returns Chip object from the given LayoutElement (e.g. one retrieved from a container's content with `container.getContents().get(index)`) if that element can be converted to Chip. Otherwise, it will return null.

### getChipColors

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

```
public @NonNull ChipColors getChipColors()
```

Returns chip colors of this Chip.

### getClickable

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

```
public @NonNull ModifiersBuilders.Clickable getClickable()
```

Returns click event action associated with this Chip.

### getContentDescription

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

```
public @Nullable TypeBuilders.StringProp getContentDescription()
```

Returns content description of this Chip.

### getCustomContent

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

```
public @Nullable LayoutElementBuilders.LayoutElement getCustomContent()
```

Returns custom content from this Chip if it has been added. Otherwise, it returns null.

### getHeight

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

```
public @NonNull DimensionBuilders.ContainerDimension getHeight()
```

Returns the visible height of this Chip.

### getHorizontalAlignment

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

```
public int getHorizontalAlignment()
```

Returns the horizontal alignment of the content in this Chip.

### getIconContent

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

```
public @Nullable String getIconContent()
```

Returns icon id from this Chip if it has been added. Otherwise, it returns null.

### getPrimaryLabelContent

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

```
public @Nullable String getPrimaryLabelContent()
```

Returns primary label from this Chip if it has been added. Otherwise, it returns null.

### getSecondaryLabelContent

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

```
public @Nullable String getSecondaryLabelContent()
```

Returns secondary label from this Chip if it has been added. Otherwise, it returns null.

### getWidth

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

```
public @NonNull DimensionBuilders.ContainerDimension getWidth()
```

Returns width of this Chip.