# CompactChip

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/CompactChip.java+class:androidx.wear.protolayout.material.CompactChip) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

*** ** * ** ***


```
public class CompactChip implements LayoutElementBuilders.LayoutElement
```

<br />

*** ** * ** ***

ProtoLayout component `https://developer.android.com/reference/androidx/wear/protolayout/material/CompactChip` that represents clickable object with the text.

The CompactChip is Stadium shape and has a max height designed to take no more than one line of text of `https://developer.android.com/reference/androidx/wear/protolayout/material/Typography#TYPOGRAPHY_CAPTION1()` style with included margin for tap target to meet accessibility requirements. Width of the chip is adjustable to the text size.

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#COMPACT_PRIMARY_COLORS()` to get a color scheme for a primary `https://developer.android.com/reference/androidx/wear/protolayout/material/CompactChip`.

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.:

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

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

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

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

## Summary

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

| ### Public methods |
|---|---|
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/wear/protolayout/material/CompactChip` | `https://developer.android.com/reference/androidx/wear/protolayout/material/CompactChip#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 CompactChip 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 CompactChip. |
| `@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/CompactChip#getChipColors()()` Returns chip color 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/CompactChip#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/CompactChip#getContentDescription()()` Returns content description of this CompactChip. |
| `@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/CompactChip#getIconContent()()` Returns icon id from this CompactChip if it has been added. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/wear/protolayout/material/CompactChip#getText()()` Returns text content of this Chip if it was set. |
| `boolean` | `https://developer.android.com/reference/androidx/wear/protolayout/material/CompactChip#hasText()()` Returns whether the text content of this Chip was set. |

## Public methods

### fromLayoutElement

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

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

Returns CompactChip 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 CompactChip. 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 color 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.2.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.2.0)

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

Returns content description of this CompactChip.

### 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 CompactChip if it has been added. Otherwise, it returns null.

### getText

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

```
public @NonNull String getText()
```

Returns text content of this Chip if it was set. If the text content wasn't set (either with `https://developer.android.com/reference/androidx/wear/protolayout/material/CompactChip.Builder#setTextContent(java.lang.String)` or constructor, this method will return an empty String. Whether text content exists on this Chip, that can be checked with `https://developer.android.com/reference/androidx/wear/protolayout/material/CompactChip#hasText()`.

### hasText

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

```
public boolean hasText()
```

Returns whether the text content of this Chip was set.