ComponentsButtons & ActionsFloating Action Button

Buttons & Actions

Floating Action Button

A circular icon button that floats over screen content and triggers the most important action on the screen. It is not for notifications, URL opening, or form submission - for those, use BuilderNotificationButton or BuilderButton.

PlacementCentered by default

Floats over screen content with a built-in drop shadow.

Action modesnone · alert · navigate · back

No URL or notification modal support by design.

Execution guardPreview mode only

Tap actions fire only in AppPlayer preview, not on the builder canvas.

What it does

Four things worth knowing

Circular icon button that floats

Sits on top of screen content with a built-in drop shadow. Size options are small (48px), medium (56px), and large (64px).

Large Ionicons library

Icon is chosen from the full Ionicons v5 set via a scrollable picker in the builder canvas property editor.

Three action modes only

Supports none, alert, navigate-screen, and go-back. URL and notification modal actions are explicitly filtered out.

Preview-safe execution

Tap actions are disabled on the builder canvas and run only when isPreview=true is injected by AppPlayer.

Builder setup

Find it, drop it, wire the action

Where to find itAdd it to the target screen

  1. Tap + in the builder and find Floating Action Button under Buttons & Actions.
  2. Drop it onto a screen with one clear primary next action.
  3. Use the Content tab to pick an icon, Style tab for colors and size, and Action tab to wire the tap behavior.

Before you publishThree things to check

  1. Confirm the action type: navigate-screen requires a valid screen ID in actionData; alert uses it as message text.
  2. Keep strong contrast between backgroundColor and iconColor so the FAB is always visible.
  3. Test placement in preview mode - the button will not fire on the builder canvas.
Category: Buttons & ActionsComponent: BuilderFABRegistry key: fabAction filter: ComponentPropertyEditor.tsx
Props

Icon, sizing, action, and runtime

PropTypeDefaultDescription
iconNamestringaddIonicons v5 icon name to display inside the button.
sizeselectmediumsmall (48px), medium (56px), large (64px) - controlled by SIZE_MAP in BuilderFAB.tsx.
backgroundColor, iconColor, shadowColorstring#007AFF, #fff, #000Surface fill, icon tint, and drop shadow color (opacity fixed at 0.25).
onPressAction, actionDataselect / stringnone, emptyAction type and payload. navigate-screen requires a screen ID; alert uses it as message text.
isPreview, onScreenNavigate, onGoBackruntimeInjected by AppPlayerPreview guard plus navigation and back callbacks used during action execution.
Toggles & colours

Make it yours

The FAB is icon-only by design. Customization is limited to icon, size, colors, and shadow - no label, text, or generic action extensions.

PropDefaultWhat it controls
iconNameaddIcon displayed inside the circular button.
sizemediumOverall button diameter via SIZE_MAP in BuilderFAB.tsx.
backgroundColor#007AFFCircular button fill color.
iconColor#fffIcon tint - keep high contrast against background.
shadowColor#000Drop shadow hue; opacity is fixed at 0.25.
Tips

Common mistakes to avoid

Button press does nothing on canvas

Expected behavior. Actions fire only in AppPlayer preview mode, not while editing on the builder canvas.

Wrong component for URLs or notifications

The FAB does not support open-url or open-notification-modal. Use BuilderButton or BuilderNotificationButton for those flows.

Adding a new action type needs three updates

Update the union type and handlePress in BuilderFAB.tsx, the action filter in ComponentPropertyEditor.tsx, and the propDefinitions options in the registry.

Duplicate icon keys cause render errors

When adding icons to registry options, check for duplicates first. Duplicate keys cause React render issues.