I'm working on a React Native application that displays a website in a webview, the website is also under my control.
When the user focuses a specific text input inside the webview, I use window.scrollTo to scroll the user so that the TextInput is near the top of their screen. However, of course on mobile, when a user focuses a text input, it also often opens their soft input.
On Android (the only platform I've tested and am targeting), this causes the entire window to resize. Unfortunately, this causes my scroll to be canceled. I'd like that to not be the case.
So far I've tried scrolling after a timeout of about 200ms, but it's way too inconsistent and I'm not comfortable with the solution. I've also tried setting my RN activity's softInputMode to adjustPan, adjustResize, and adjustNothing, none of which seem to prevent the webview from resizing when the soft input is opened.
How can I: