From e91e15f1a0883eaad13bfa6eed0387a65186ed5a Mon Sep 17 00:00:00 2001 From: vivekjm <90664309+vivekjm@users.noreply.github.com> Date: Mon, 18 May 2026 18:47:27 +0530 Subject: [PATCH 1/2] test: add KeyboardAvoidingView multiline repro --- .../KeyboardAvoidingViewExample.js | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/packages/rn-tester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js b/packages/rn-tester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js index 4ee3377ff31..426284f1486 100644 --- a/packages/rn-tester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js +++ b/packages/rn-tester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js @@ -20,6 +20,7 @@ import { KeyboardAvoidingView, Modal, Pressable, + ScrollView, StyleSheet, Text, TextInput, @@ -199,6 +200,34 @@ const KeyboardAvoidingContentContainerStyle = () => { ); }; +const KeyboardAvoidingMultilineTextInput = () => { + const [message, setMessage] = useState(''); + + return ( + + + {Array.from({length: 10}, (_, index) => ( + + Message {index + 1} + + ))} + + + + ); +}; + const styles = StyleSheet.create({ outerContainer: { flex: 1, @@ -243,6 +272,22 @@ const styles = StyleSheet.create({ fontWeight: '500', color: 'blue', }, + multilineContainer: { + flex: 1, + }, + multilineContent: { + padding: 12, + }, + messageText: { + fontSize: 20, + padding: 40, + }, + multilineTextInput: { + borderRadius: 5, + borderWidth: 1, + minHeight: 96, + padding: 8, + }, }); exports.title = 'KeyboardAvoidingView'; @@ -279,4 +324,12 @@ exports.examples = [ return ; }, }, + { + title: 'Keyboard Avoiding View with multiline TextInput in ScrollView', + description: + 'Reproduces the nested ScrollView and multiline TextInput layout from issue #16826.', + render(): React.Node { + return ; + }, + }, ] as Array; From da80505d9d677eea1b849f17fc88c7a0ca00e6d1 Mon Sep 17 00:00:00 2001 From: Vivek JM <24496671+vivekjm@users.noreply.github.com> Date: Wed, 3 Jun 2026 22:11:47 +0530 Subject: [PATCH 2/2] test: clarify multiline keyboard example --- .../KeyboardAvoidingView/KeyboardAvoidingViewExample.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/rn-tester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js b/packages/rn-tester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js index 426284f1486..ae1d24f80c5 100644 --- a/packages/rn-tester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js +++ b/packages/rn-tester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js @@ -326,8 +326,9 @@ exports.examples = [ }, { title: 'Keyboard Avoiding View with multiline TextInput in ScrollView', + // Regression coverage for https://github.com/facebook/react-native/issues/16826. description: - 'Reproduces the nested ScrollView and multiline TextInput layout from issue #16826.', + 'Keeps a multiline TextInput visible when it grows inside a nested ScrollView.', render(): React.Node { return ; },