Add scrollsChildToFocus prop to ScrollView to control automatic scrolling when a child receives focus
#55143
+106
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
This PR adds a new Android-specific boolean property
scrollsChildToFocusto the ScrollView component.When a focusable element inside a ScrollView receives focus (e.g., a TextInput is tapped), Android's default behavior is to automatically scroll the ScrollView to bring that element into view. While this is often desirable, there are cases where developers need more control over scroll behavior - for example, when implementing custom scroll-to-focus animations, when using virtualized lists that manage their own scroll positions, or when focus changes should not disturb the current scroll position.
Setting
scrollsChildToFocus={false}disables this automatic scrolling behavior, giving developers full control over scroll positioning when focus changes.Related issues:
Changelog:
[ANDROID] [ADDED] - Add
scrollsChildToFocusprop to ScrollView to control automatic scrolling when a child receives focusTest Plan:
scrollsChildToFocus: true(default):scrollsChildToFocustofalse:This property affects both vertical (
<ScrollView />) and horizontal (<ScrollView horizontal={true} />) scroll views.