# TriggerBuilders

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

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/wear/protolayout/TriggerBuilders "View this page in Java")

<br />

```
class TriggerBuilders
```

<br />

*** ** * ** ***

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

## Summary

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

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

## Public functions

### createOnConditionMetTrigger

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

```
@RequiresSchemaVersion(major = 1, minor = 200)
java-static fun createOnConditionMetTrigger(dynamicBool: DynamicBuilders.DynamicBool): TriggerBuilders.Trigger
```

Creates a[Trigger](https://developer.android.com/reference/kotlin/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)
java-static fun createOnLoadTrigger(): TriggerBuilders.Trigger
```

Creates a[Trigger](https://developer.android.com/reference/kotlin/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
java-static fun createOnVisibleOnceTrigger(): TriggerBuilders.Trigger
```

Creates a[Trigger](https://developer.android.com/reference/kotlin/androidx/wear/protolayout/TriggerBuilders.Trigger)that fires the first time that layout becomes visible.

As opposed to[createOnVisibleTrigger](https://developer.android.com/reference/kotlin/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)
java-static fun createOnVisibleTrigger(): TriggerBuilders.Trigger
```

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

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