javascript - 当键盘打开时,在android上的webview中滚动到焦点上的特定元素
问题描述
我正在开发一个在 web 视图中显示网站的 React Native 应用程序,该网站也在我的控制之下。
当用户关注 webview 中的特定文本输入时,我使用window.scrollTo
滚动用户以使 TextInput 靠近其屏幕顶部。然而,当然在移动设备上,当用户关注文本输入时,它也经常打开他们的软输入。
在 Android(我测试过的唯一平台)上,这会导致整个窗口调整大小。不幸的是,这导致我的滚动被取消。我希望不是这样。
到目前为止,我已经尝试在大约 200 毫秒的超时后滚动,但这太不一致了,我对解决方案感到不舒服。我还尝试将我的 RN 活动的 softInputMode 设置为adjustPan, adjustResize, and adjustNothing
,这似乎都不能阻止 webview 在打开软输入时调整大小。
我怎样才能:
- 要么在打开软输入时阻止窗口调整大小,要么
- 即使窗口调整大小,也能可靠地滚动到特定位置?
解决方案
推荐阅读
- android - 滚动后加载新数据时 addOnScrollListener 的位置重置为顶部
- angular - @angular/料桶进口成本
- c# - 我们如何使用 C# 运行现有 Excel 工作表的 excel 宏?
- axios - 是否可以在不发送/接收 cookie 的情况下发出 ajax 请求?
- javascript - Javascript - 表格行上的单击事件以更改 HTML 元素
- node.js - 编写 AWS Lambda nodejs api 的最佳实践或指南
- vba - Excel VBA - Privot表过滤多个不确定标准
- c# - 如何检查 C# 的 json 对象中是否存在嵌套路径?
- python - 如何在 Python 中使用 split 函数或更通用的方式将带有 xml 标签的字符串转换为字典?
- database-design - 如何设计具有不同类型产品的数据库