Timer
The Timer widget is a time-based utility that lets you run countdown or count-up (stopwatch) timers inside your app. It can trigger actions at regular intervals (ticks) or when the timer completes, making it ideal for dynamic, time-driven experiences like quizzes, games, progress flows, and limited-time offers.
Core Concepts
Timer Type
countDown– Starts from a given number of seconds and decreases to zero.countUp– Starts from a given value (usually 0) and increases over time.
Tick
A “tick” is each point in time when the timer updates.
Controlled by
updateInterval(in seconds).On every tick, the widget exposes the current time value through
tickValue.
Controller
The
controllerlets you programmatically:start the timer
stop/pause the timer
reset it back to the initial value
These operations can be executed using the Control Object action.
Note: If a controller is provided, other properties except actions may not work as the timer is controlled programmatically.
This is useful when the timer’s behavior depends on user actions or other widgets (e.g., start timer when a quiz question appears).
Actions
onTick– Runs repeatedly at each interval.onTimerEnd– Runs once when the timer finishes (in countDown mode) or when you manually end it.
Child & tickValue
The Timer has a
childslot.Inside this child, you can access
tickValue, which is the current timer value (e.g., remaining seconds in a countdown).You can access
tickValuedirectly by name or with the widget name prefix:timerName.tickValue.This allows flexible referencing and makes it easy to display the timer on-screen without extra state.
Properties
controller
A TimerController Variable that can be used to control the timer (e.g., start, stop, reset).
duration
The total duration of the timer in seconds.
initialValue
The initial value of the timer. For a countdown timer, this is the number of seconds to count down from. For a stopwatch, this is the starting time.
updateInterval
The interval in seconds at which the onTick action is triggered.
timerType
The type of timer. Can be countDown or countUp.
onTick
An action to be executed at each updateInterval.
onTimerEnd
An action to be executed when the timer finishes.
Events
onTick
Triggered at each updateInterval. Receives an object with the current tick value.
onTimerEnd
Triggered when the timer finishes. Receives an object with the final tick value.
Default Properties
The Timer widget supports the following sections of Default Properties:
Layout
widthheightpaddingmargin
Alignment
align
Visibility
visible
Use Cases
You can use the Timer widget in scenarios like:
⏳ Countdowns
Quiz timers (e.g., 30 seconds per question)
Flash sale or limited-time offer countdowns
Session expiry or logout warnings
⏱ Stopwatch / Count-Up
Track how long a user spends on a task or game
Measure response times or performance metrics
🔁 Recurring UI Updates
Auto-advancing slides or banners
Updating a progress bar every second
Periodic API polling (e.g., refresh status every 5 seconds)
🎮 Game & Interaction Logic
Trigger events after a delay (e.g., show hint after 10 seconds)
End a level when time runs out
Control animations or state changes over time
Last updated