# 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 />

```
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/kotlin/androidx/wear/protolayout/types/LayoutString#LayoutString(kotlin.String)(staticValue: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Creates an instance for a static String value. |
| `@https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 600) https://developer.android.com/reference/kotlin/androidx/wear/protolayout/types/LayoutString#LayoutString(kotlin.String,androidx.wear.protolayout.expression.DynamicBuilders.DynamicString)( staticValue: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, dynamicValue: https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString )` Creates an instance for a `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` value with a static value fallback. |
| `@https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 200) https://developer.android.com/reference/kotlin/androidx/wear/protolayout/types/LayoutString#LayoutString(kotlin.String,androidx.wear.protolayout.expression.DynamicBuilders.DynamicString,androidx.wear.protolayout.TypeBuilders.StringLayoutConstraint)( staticValue: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, dynamicValue: https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString, layoutConstraint: https://developer.android.com/reference/kotlin/androidx/wear/protolayout/TypeBuilders.StringLayoutConstraint )` Creates an instance for a `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` value with a static value fallback and a set of layout constraints for the dynamic value. |

| ### Public functions |
|---|---|
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/types/LayoutString#equals(kotlin.Any)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/types/LayoutString#hashCode()()` |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/types/LayoutString#toString()()` |

| ### Public properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString?` | `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/types/LayoutString#dynamicValue()` The dynamic value. |
| `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/TypeBuilders.StringLayoutConstraint?` | `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/types/LayoutString#layoutConstraint()` When `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/types/LayoutString#dynamicValue()` is used, `https://developer.android.com/reference/kotlin/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/kotlin/androidx/wear/protolayout/types/LayoutString#dynamicValue()` String. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/types/LayoutString#staticValue()` The static value. |

## Public constructors

### LayoutString

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

```
LayoutString(staticValue: String)
```

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)
LayoutString(
    staticValue: String,
    dynamicValue: DynamicBuilders.DynamicString
)
```

Creates an instance for a `https://developer.android.com/reference/kotlin/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/kotlin/androidx/wear/protolayout/types/LayoutString#(kotlin.String,androidx.wear.protolayout.expression.DynamicBuilders.DynamicString)`, as no `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/types/LayoutString#layoutConstraint()` is specified.

| Parameters |
|---|---|
| `staticValue: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | the static value that can be used when the `dynamicValue` can't be resolved. |
| `dynamicValue: https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` | 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)
LayoutString(
    staticValue: String,
    dynamicValue: DynamicBuilders.DynamicString,
    layoutConstraint: TypeBuilders.StringLayoutConstraint
)
```

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

| Parameters |
|---|---|
| `staticValue: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | the static value that can be used when the `dynamicValue` can't be resolved. |
| `dynamicValue: https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` | the dynamic value. If this value can be resolved, the `staticValue` won't be used. |
| `layoutConstraint: https://developer.android.com/reference/kotlin/androidx/wear/protolayout/TypeBuilders.StringLayoutConstraint` | 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 functions

### equals

```
open operator fun equals(other: Any?): Boolean
```

### hashCode

```
open fun hashCode(): Int
```

### toString

```
open fun toString(): String
```

## Public properties

### dynamicValue

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

```
val dynamicValue: DynamicBuilders.DynamicString?
```

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

### layoutConstraint

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

```
val layoutConstraint: TypeBuilders.StringLayoutConstraint?
```

When `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/types/LayoutString#dynamicValue()` is used, `https://developer.android.com/reference/kotlin/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/kotlin/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/kotlin/androidx/wear/protolayout/types/LayoutString#dynamicValue()`.

### staticValue

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

```
val staticValue: String
```

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