【发布时间】:2015-09-06 18:41:55
【问题描述】:
我有一个 WebView(在带有 SlidingTabLayout 的 ViewPager 的片段内)。
使用 WebView 键入时,我希望调整布局大小以确保输入可见。
当我单击 WebView 中的文本输入时,软键盘出现并且布局调整大小。我可以使用软键盘的返回按钮输入文本并提交,或者使用返回按钮取消输入。之后,键盘消失,布局重新调整大小。纠正AdjustResize 的行为。
但是,当通过在软键盘外部单击来关闭键盘时(例如,在 Google 中输入查询并在 WebView 中按下“搜索”按钮时),键盘会隐藏,并且布局调整大小大约需要 2-3 秒(留下一个我的布局底部有 2-3 秒的空白)。之后,在选择TextInput时,键盘覆盖WebView(QuidingPan)。
如何确保在按下 WebView 关闭键盘时,adjustResize 行为保持不变。
我已尝试重新设置 AdjustResize(例如从 onTouch),但这没有效果:
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
我也试过following solution,但这并没有改变。
此外,我认为这可能不是焦点问题(因为确实出现了键盘,并且 webview 确实响应了)。我确实要求从我的观点中获得焦点:
webView.setFocusable(true);
webView.setFocusableInTouchMode(true);
【问题讨论】:
-
我想创建一个新项目,复制并粘贴一些代码,看看您在我的设备上遇到的问题。您能否进行编辑以使这成为可能?
-
@NecipAllef 我已经发布了一些文件。但是,如果您愿意,我可以将我的完整项目发送给您。电子邮件(24 小时)l:m95YZL4xu2Sc@meltmail.com
-
我看过您的 WebView 源代码,它大约有 1.2k 行代码,我相信其中大多数甚至与您的问题无关。如果您能提供一些代码,让我们能够观察到问题,而且不难编译或调试,您可以更快地获得帮助。所以我建议你创建一个示例项目并分享它。我相信通过 Github 是可能的。
-
@NecipAllef 是的,我会处理的。但是我仍然需要确定问题的原因是什么,所以我需要一段时间来创建这个项目。