TVTextScrollView

A TV-oriented scroll container for long-form content where directional keys should page through content predictably.

TVTextScrollView is useful for content-heavy surfaces with limited focusable children, where TV remotes should still provide consistent up/down (or left/right) paging behavior.

import { TVTextScrollView } from 'react-native';

<TVTextScrollView
scrollDuration={0.3}
pageSize={320}
snapToStart
snapToEnd
>

{children}
</TVTextScrollView>;

API

Props

...ScrollViewProps

All ScrollView props are supported.

scrollDuration ?number = 0.3

Duration of each directional scroll animation, in seconds.

pageSize ?number

Distance scrolled per directional action, in pixels. When not provided, defaults to approximately half of the visible viewport in the active axis.

snapToStart ?boolean = true

Allows snapping to the start edge when directional movement exits past the beginning of content.

snapToEnd ?boolean = true

Allows snapping to the end edge when directional movement exits past the end of content.

onFocus ?(event: Event) => void

Called when the scroll view receives TV focus.

onBlur ?(event: Event) => void

Called when the scroll view loses TV focus.

Notes

  • Designed for TV directional input behavior.
  • Works with SpatialManager key routing in this fork.
  • Supports vertical and horizontal usage through horizontal from ScrollView props.

Examples

  For TV Examples: LRUD navigation is already enabled in this sandbox. Use your keyboard arrow keys to move focus.

Updated
React Native Web for TVPortions Copyright © Nicolas Gallagher, Meta Platforms, Inc., Facebook, Inc. and affiliates, and other contributors as noted in file headers and THIRD_PARTY_NOTICES.md. Modifications and TV extensions Copyright © Harpreet Singh and contributors.