我正在研究一个在Webview组件中加载网页的Android项目。 值得一提的是我无法访问网站代码。
问题如下。
网站上有一个表单,其中包含一个带有建议列表的文本输入字段。当用户在文本框中键入内容时,会自动显示一个建议框,用户可以从列表中选择一个项目。
当用户点击文本框时,光标会对其进行聚焦并显示android键盘。 当用户从建议列表中选择一个项目时,文本框失去焦点并使光标消失毫秒,但文本框再次聚焦,这意味着光标出现在文本框内,之前隐藏的键盘再次出现。
以上行为导致用户友好性差。
如何在用户选择建议后实施隐藏键盘?
以下是加载网页视图的代码。
private void loadSite(){
siteWebView = (WebView) findViewById(R.id.siteWebView);
siteWebView.loadUrl(IndexURL);
siteWebView.setWebViewClient(new SiteWebView());
WebSettings siteWebSettings = siteWebView.getSettings();
siteWebSettings.setJavaScriptEnabled(true);
siteWebSettings.setJavaScriptCanOpenWindowsAutomatically(true);
siteWebSettings.setDomStorageEnabled(true);
siteWebSettings.setRenderPriority(WebSettings.RenderPriority.HIGH);
siteWebSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
siteWebSettings.setUseWideViewPort(true);
siteWebSettings.setSavePassword(true);
siteWebSettings.setSaveFormData(true);
siteWebSettings.setEnableSmoothTransition(true);
siteWebSettings.setLoadWithOverviewMode(true);
siteWebSettings.setUseWideViewPort(true);
//Disabled horizontal scrolling and enabled zooming
siteWebView.setHorizontalScrollBarEnabled(false);
siteWebSettings.setBuiltInZoomControls(true);
siteWebSettings.setDisplayZoomControls(false);
siteWebView.setWebChromeClient(webChromeClient);
}