我有一个 WebView(在 ViewPager 中的 Fragment 中的 SlidingTabLayout 中)。
当使用 WebView 输入文本时,我希望布局能够调整大小以确保输入可见。
当我点击 WebView 中的文本输入时,软键盘会出现并且布局会重新调整大小。我可以使用软键盘的返回按钮提交我的文本或取消输入。此后,键盘消失并且布局恢复原来的大小。这是正确的 AdjustResize
行为。
然而,当通过单击 Softkeyboard 外部(例如,在 Google 中输入查询并在 WebView 中按搜索按钮)来关闭键盘时,键盘会隐藏,并且布局需要大约 2-3 秒才能重新调整大小(在我的布局底部留下空白区域 2-3 秒)。之后,在选择文本输入时,键盘会覆盖 WebView(adjustPan)。
如何确保在通过按下 WebView 来关闭键盘时,仍保持adjustResize
行为。
我已经尝试重新设置 AdjustResize(例如从 onTouch),但没有效果:
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
我也尝试了以下解决方案,但没有改变。
此外,我认为这可能不是一个焦点问题(因为键盘出现了,webview也有响应)。 我确实从我的View请求焦点:
webView.setFocusable(true);
webView.setFocusableInTouchMode(true);