onPress fires whether the user taps the screen or presses the select button on a remote.
Pressable components
The recommended way to handle user input is with Pressable. It works across all Vega profiles:- Button — A simple button rendered natively on all platforms.
- TouchableOpacity — Reduces opacity on press.
- TouchableWithoutFeedback — Handles press with no visual feedback.
Long press
Detect when a user presses and holds (touch) or long-presses the select button (D-Pad):TV Navigation (D-Pad)
On TV devices, there is no touchscreen. Users navigate using directional buttons (up, down, left, right) and a select button. The system moves focus between interactive elements based on a Cartesian distance algorithm.Focus indicators
Every interactive element must show a clear visual change when focused. Use physical changes (border, scale) — not just color or opacity:Focusable components
Making non-interactive components focusable
Controlling focus direction
Override the default focus algorithm usingnextFocus props:
nextFocusUp, nextFocusDown, nextFocusLeft, nextFocusRight.
Setting initial focus
FocusManager:
TVFocusGuideView
Advanced focus container for controlling focus behavior in complex layouts.FocusManager API
Imperative focus control via TurboModule:Handling rapid key presses
If focus behaves unexpectedly during rapid D-Pad presses, use theenableSynchronousFocusEvents prop:
Troubleshooting
Further reading
- Focus Manager API — Full API reference
- TVEventHandler — Listen for raw remote control key events
- Pressable — Recommended component for press handling

