# LayoutString

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/types/LayoutString.kt+class:androidx.wear.protolayout.types.LayoutString) Added in [1.3.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.3.0)

*** ** * ** ***

<br />

```
public final class LayoutString
```

<br />

*** ** * ** ***

Static or dynamic string value for layout fields.

This can be used on layout string fields with data binding support.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#LayoutString(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html staticValue)` Creates an instance for a static String value. |
| `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 600) https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#LayoutString(kotlin.String,androidx.wear.protolayout.expression.DynamicBuilders.DynamicString)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html staticValue, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString dynamicValue )` Creates an instance for a `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` value with a static value fallback. |
| `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 200) https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#LayoutString(kotlin.String,androidx.wear.protolayout.expression.DynamicBuilders.DynamicString,androidx.wear.protolayout.TypeBuilders.StringLayoutConstraint)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html staticValue, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString dynamicValue, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/protolayout/TypeBuilders.StringLayoutConstraint layoutConstraint )` Creates an instance for a `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` value with a static value fallback and a set of layout constraints for the dynamic value. |

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#equals(kotlin.Any)(https://developer.android.com/reference/java/lang/Object.html other)` |
| `final https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` | `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#getDynamicValue()()` The dynamic value. |
| `final https://developer.android.com/reference/androidx/wear/protolayout/TypeBuilders.StringLayoutConstraint` | `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#getLayoutConstraint()()` When `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#dynamicValue()` is used, `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#(androidx.wear.protolayout.TypeBuilders.StringProp,androidx.wear.protolayout.TypeBuilders.StringLayoutConstraint)` ensures that the text element has a known fixed size during the layout pass, independently of the actual `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#dynamicValue()` String. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#getStaticValue()()` The static value. |
| `int` | `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#hashCode()()` |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#toString()()` |

## Public constructors

### LayoutString

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

```
public LayoutString(@NonNull String staticValue)
```

Creates an instance for a static String value.

### LayoutString

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

```
@RequiresSchemaVersion(major = 1, minor = 600)
public LayoutString(
    @NonNull String staticValue,
    @NonNull DynamicBuilders.DynamicString dynamicValue
)
```

Creates an instance for a `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` value with a static value fallback. The text element will size itself to the content of the `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#(kotlin.String,androidx.wear.protolayout.expression.DynamicBuilders.DynamicString)`, as no `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#layoutConstraint()` is specified.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html staticValue` | the static value that can be used when the `dynamicValue` can't be resolved. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString dynamicValue` | the dynamic value. If this value can be resolved, the `staticValue` won't be used. |

### LayoutString

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

```
@RequiresSchemaVersion(major = 1, minor = 200)
public LayoutString(
    @NonNull String staticValue,
    @NonNull DynamicBuilders.DynamicString dynamicValue,
    @NonNull TypeBuilders.StringLayoutConstraint layoutConstraint
)
```

Creates an instance for a `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` value with a static value fallback and a set of layout constraints for the dynamic value.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html staticValue` | the static value that can be used when the `dynamicValue` can't be resolved. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString dynamicValue` | the dynamic value. If this value can be resolved, the `staticValue` won't be used. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/protolayout/TypeBuilders.StringLayoutConstraint layoutConstraint` | used to correctly measure layout Text element size and align text to ensure that the layout is of a known size during the layout pass regardless of the `dynamicValue` String. |

## Public methods

### equals

```
public boolean equals(Object other)
```

### getDynamicValue

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

```
public final DynamicBuilders.DynamicString getDynamicValue()
```

The dynamic value. If this can't be resolved `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#staticValue()` will be used during rendering.

### getLayoutConstraint

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

```
public final TypeBuilders.StringLayoutConstraint getLayoutConstraint()
```

When `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#dynamicValue()` is used, `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#(androidx.wear.protolayout.TypeBuilders.StringProp,androidx.wear.protolayout.TypeBuilders.StringLayoutConstraint)` ensures that the text element has a known fixed size during the layout pass, independently of the actual `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#dynamicValue()` String. If not set, the text element will size itself to the content of the `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#dynamicValue()`.

### getStaticValue

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

```
public final @NonNull String getStaticValue()
```

The static value. If `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#dynamicValue()` is not null this will be used as the default value for when `https://developer.android.com/reference/androidx/wear/protolayout/types/LayoutString#dynamicValue()` can't be resolved.

### hashCode

```
public int hashCode()
```

### toString

```
public @NonNull String toString()
```