我有一个WebView(在ViewPager中的SlidingTabLayout内的片段内)。AdjustResize通过点击外部键盘解散键盘后不起作用
使用WebView键入时,我希望布局调整大小以确保输入可见。
当我单击WebView中的文本输入时,软键盘出现并且布局调整大小。我可以输入我的文字并使用软键盘的返回按钮提交或使用后退按钮取消输入。之后,键盘消失,布局调整回来。正确AdjustResize
行为。
但是,当通过在Softkeyboard外部单击来解除键盘(例如,在Google中输入查询并按下WebView中的搜索按钮时),键盘隐藏并且大约需要2-3秒才能调整布局大小(离开在我的布局底部留出2-3秒的空白空间)。之后,当选择textinput时,键盘覆盖WebView(adjustPan)。
如何确保在按下WebView时关闭键盘,adjustResize
行为得以维持。
我已经试过重新设置AdjustResize(例如,来自onTouch),但这没有影响:
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
我也试过following solution但是这给没有变化。
此外,我认为这可能不是焦点问题(因为键盘确实出现,并且webview确实响应)。我也从我的查看要求重点:
webView.setFocusable(true);
webView.setFocusableInTouchMode(true);
我想创建一个新项目,复制并粘贴一些代码,并查看您在我的设备上面临的问题。你可以做一个编辑,以便这可能吗? – NecipAllef
@NecipAllef我已经发布了一些文件。但是,如果您希望我可以向您发送完整的项目。电子邮件(24HR)l:[email protected] – Mdlc
我已经看到了您的WebView源代码,它大约有1.2k行代码,我相信它们中的大多数甚至与您的问题没有关系。如果您可以提供一些代码,使我们能够观察问题,但也不难编译或调试,那么您可以更快地获得帮助。所以我建议你创建一个示例项目并分享它。我相信它可以通过Github。 – NecipAllef