如果我将文本输入放在页面的下半部分,当用户点击它以显示虚拟键盘时,页面会自动向上滑动。当您离开键盘时,页面会自动再次向下滑动。即,一切都很好。
但是当文本输入位于页面的上半部分时(在这种情况下,当键盘出现时页面不会自动滑动),行为很糟糕:
用户点击文本输入;
整个屏幕(文本输入除外)瞬间变黑,然后键盘向上滑动;
用户轻敲键盘;
在再次呈现页面之前,屏幕会闪烁黑色。
但是,如果您再次尝试上述步骤,则顺序为: 1. 同上;
同上;
同上;
屏幕变黑并保持黑色;
用户点击黑屏;
页面再次显示。
我尝试了一些不同的方法,例如检测文本输入何时失去焦点(即键盘隐藏)以显示到页面、滚动页面等,但似乎没有什么能阻止黑屏的这个问题。
当文本输入失去焦点时显示 javascript 警报可以避免黑屏问题(但我也不希望显示警报!)。
我还尝试在我的 AndroidManifest.xml 标记中使用 android:hardwareAccelerated="true"。虽然这确实解决了这个特殊问题,但不幸的是,它在整个 Web 应用程序中产生了更多的渲染问题。
有没有人有什么建议?