# ResourceBuilders.AndroidLottieResourceByResId.Builder

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

*** ** * ** ***


```
public final class ResourceBuilders.AndroidLottieResourceByResId.Builder
```

<br />

*** ** * ** ***

Builder for `https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.AndroidLottieResourceByResId`

## Summary

| ### Public constructors |
|---|
| `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 500) https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.AndroidLottieResourceByResId.Builder#Builder(int)(@https://developer.android.com/reference/androidx/annotation/RawRes int resourceId)` Creates an instance of `https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.AndroidLottieResourceByResId.Builder`. |

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.AndroidLottieResourceByResId` | `https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.AndroidLottieResourceByResId.Builder#build()()` Builds an instance from accumulated values. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.AndroidLottieResourceByResId.Builder` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 500) https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.AndroidLottieResourceByResId.Builder#setProgress(androidx.wear.protolayout.expression.DynamicBuilders.DynamicFloat)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat progress)` Sets a `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat`, normally transformed from certain states with the data binding pipeline to control the progress of the animation. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.AndroidLottieResourceByResId.Builder` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 600) https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.AndroidLottieResourceByResId.Builder#setProperties(androidx.wear.protolayout.ResourceBuilders.LottieProperty...)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html ResourceBuilders.LottieProperty[] properties)` Adds customizations for Lottie animation, for example to apply a color to a slot with specified ID. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.AndroidLottieResourceByResId.Builder` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 500) https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.AndroidLottieResourceByResId.Builder#setStartTrigger(androidx.wear.protolayout.TriggerBuilders.Trigger)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger startTrigger)` Sets the trigger to start the animation. |

## Public constructors

### Builder

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

```
@RequiresSchemaVersion(major = 1, minor = 500)
public Builder(@RawRes int resourceId)
```

Creates an instance of `https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.AndroidLottieResourceByResId.Builder`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/RawRes int resourceId` | the Android resource ID, e.g. R.raw.foo. |

## Public methods

### build

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

```
public @NonNull ResourceBuilders.AndroidLottieResourceByResId build()
```

Builds an instance from accumulated values.

### setProgress

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

```
@RequiresSchemaVersion(major = 1, minor = 500)
public @NonNull ResourceBuilders.AndroidLottieResourceByResId.Builder setProgress(@NonNull DynamicBuilders.DynamicFloat progress)
```

Sets a `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat`, normally transformed from certain states with the data binding pipeline to control the progress of the animation.

Its value is required to fall in the range of \[0.0, 1.0\]. Any values outside this range would be clamped.

When the first value of the `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat` arrives, the animation starts from progress 0 to that value. After that it plays from current progress to the new value on subsequent updates.

If not set, the animation will play on load.

### setProperties

```
@RequiresSchemaVersion(major = 1, minor = 600)
public @NonNull ResourceBuilders.AndroidLottieResourceByResId.Builder setProperties(@NonNull ResourceBuilders.LottieProperty[] properties)
```

Adds customizations for Lottie animation, for example to apply a color to a slot with specified ID.

Only up to `https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.AndroidLottieResourceByResId#getMaxPropertiesCount()` properties are allowed to be added for customization of one Lottie animation.

If more than one `https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.LottieProperty` with the same filter and different value (for example, with the same slot ID and different color in case of `https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.LottieProperty#colorForSlot(java.lang.String,androidx.wear.protolayout.ColorBuilders.ColorProp)`) is added, the last filter will be applied.

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException.html` | if the number of properties added is larger than `https://developer.android.com/reference/androidx/wear/protolayout/ResourceBuilders.AndroidLottieResourceByResId#getMaxPropertiesCount()`. |

### setStartTrigger

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

```
@RequiresSchemaVersion(major = 1, minor = 500)
public @NonNull ResourceBuilders.AndroidLottieResourceByResId.Builder setStartTrigger(@NonNull TriggerBuilders.Trigger startTrigger)
```

Sets the trigger to start the animation.