# Text

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

*** ** * ** ***


```
public class Text implements LayoutElementBuilders.LayoutElement
```

<br />

*** ** * ** ***

ProtoLayout component `https://developer.android.com/reference/androidx/wear/protolayout/material/Text` that represents text object holding any information.

There are pre-built typography styles that can be obtained from constants in `https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.FontStyle`.

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

```
Text text = new Text...
Box box = new Box.Builder().addContent(text).build();

Text myText = (Text) box.getContents().get(0);
```
will fail.

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

```
Text myText = Text.fromLayoutElement(box.getContents().get(0));
```

## Summary

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

| ### Public methods |
|---|---|
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/wear/protolayout/material/Text` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Text#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 Material Text 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 Material Text. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/ColorBuilders.ColorProp` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Text#getColor()()` Returns the color of this Text element. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.FontStyle` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Text#getFontStyle()()` Returns the font style of this Text element. |
| `float` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Text#getLineHeight()()` Returns the line height of this Text element. |
| `int` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Text#getMaxLines()()` Returns the max lines of text of this Text element. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/ModifiersBuilders.Modifiers` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Text#getModifiers()()` Returns the modifiers of this Text element. |
| `int` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Text#getMultilineAlignment()()` Returns the multiline alignment of this Text element. |
| `int` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Text#getOverflow()()` Returns the overflow of this Text element. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/TypeBuilders.StringProp` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Text#getText()()` Returns the text of this Text element. |
| `int` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Text#getWeight()()` Returns the overflow of this Text element. |
| `boolean` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Text#isItalic()()` Returns whether the Text is in italic. |
| `boolean` | `https://developer.android.com/reference/androidx/wear/protolayout/material/Text#isUnderline()()` Returns whether the Text is underlined. |

## Public methods

### fromLayoutElement

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

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

Returns Material Text 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 Material Text. Otherwise, it will return null.

### getColor

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

```
public @NonNull ColorBuilders.ColorProp getColor()
```

Returns the color of this Text element.

### getFontStyle

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

```
public @NonNull LayoutElementBuilders.FontStyle getFontStyle()
```

Returns the font style of this Text element.

### getLineHeight

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

```
public float getLineHeight()
```

Returns the line height of this Text element.

### getMaxLines

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

```
public int getMaxLines()
```

Returns the max lines of text of this Text element.

### getModifiers

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

```
public @NonNull ModifiersBuilders.Modifiers getModifiers()
```

Returns the modifiers of this Text element.

### getMultilineAlignment

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

```
public int getMultilineAlignment()
```

Returns the multiline alignment of this Text element.

### getOverflow

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

```
public int getOverflow()
```

Returns the overflow of this Text element.

### getText

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

```
public @NonNull TypeBuilders.StringProp getText()
```

Returns the text of this Text element.

### getWeight

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

```
public int getWeight()
```

Returns the overflow of this Text element.

### isItalic

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

```
public boolean isItalic()
```

Returns whether the Text is in italic.

### isUnderline

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

```
public boolean isUnderline()
```

Returns whether the Text is underlined.