# TriggerBuilders

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

*** ** * ** ***


```
public final class TriggerBuilders
```

<br />

*** ** * ** ***

Builders for triggers that can be used to start an animation.

## Summary

| ### Nested types |
|---|
| `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 200) @https://developer.android.com/reference/androidx/wear/protolayout/expression/ProtoLayoutExperimental public final class https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.OnVisibleOnceTrigger implements https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` Triggers only once when the layout visibility state turns from invisible to fully visible for the first time. |
| `public final class https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.OnVisibleOnceTrigger.Builder` Builder for `https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.OnVisibleOnceTrigger`. |
| `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 200) public final class https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.OnVisibleTrigger implements https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` Triggers when the layout visibility state turns from invisible to fully visible. |
| `public final class https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.OnVisibleTrigger.Builder` Builder for `https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.OnVisibleTrigger`. |
| `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 200) public interface https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` Interface defining the triggers that can be fired. |

| ### Public methods |
|---|---|
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 200) https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders#createOnConditionMetTrigger(androidx.wear.protolayout.expression.DynamicBuilders.DynamicBool)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicBool dynamicBool )` Creates a `https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` that fires \*every time\* the condition switches from false to true. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 200) https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders#createOnLoadTrigger()()` Creates a `https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` that fires immediately when the layout is loaded / reloaded. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 200) @https://developer.android.com/reference/androidx/wear/protolayout/expression/ProtoLayoutExperimental https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders#createOnVisibleOnceTrigger()()` Creates a `https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` that fires the first time that layout becomes visible. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` | `@https://developer.android.com/reference/androidx/wear/protolayout/expression/RequiresSchemaVersion(major = 1, minor = 200) https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders#createOnVisibleTrigger()()` Creates a `https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` that fires \*every time\* the layout becomes visible. |

## Public methods

### createOnConditionMetTrigger

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

```
@RequiresSchemaVersion(major = 1, minor = 200)
public static @NonNull TriggerBuilders.Trigger createOnConditionMetTrigger(
    @NonNull DynamicBuilders.DynamicBool dynamicBool
)
```

Creates a `https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` that fires \*every time\* the condition switches from false to true. If the condition is true initially, that will fire the trigger on load.

### createOnLoadTrigger

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

```
@RequiresSchemaVersion(major = 1, minor = 200)
public static @NonNull TriggerBuilders.Trigger createOnLoadTrigger()
```

Creates a `https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` that fires immediately when the layout is loaded / reloaded.

### createOnVisibleOnceTrigger

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

```
@RequiresSchemaVersion(major = 1, minor = 200)
@ProtoLayoutExperimental
public static @NonNull TriggerBuilders.Trigger createOnVisibleOnceTrigger()
```

Creates a `https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` that fires the first time that layout becomes visible.

As opposed to `https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders#createOnVisibleTrigger()`, this will only be fired the first time that the layout becomes visible.

### createOnVisibleTrigger

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

```
@RequiresSchemaVersion(major = 1, minor = 200)
public static @NonNull TriggerBuilders.Trigger createOnVisibleTrigger()
```

Creates a `https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders.Trigger` that fires \*every time\* the layout becomes visible.

As opposed to `https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders#createOnLoadTrigger()`, this will wait until layout is fully visible before firing a trigger.