WebView HTML文本框模糊事件不起作用

时间:2018-05-01 10:11:29

标签: android webview

我正在研究一个在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);
}

0 个答案:

没有答案