文本搜索

时间:2018-04-27 20:38:08

标签: android android-webview zoom

我的活动只有一个简单的 WebView 。它的内容符合屏幕宽度。

但是,当我运行findAllAsync()命令突出显示内容中的某些文本时,组件宽度溢出屏幕。 如果我第二次搜索溢出,第三次 - 再次出现,依此类推。

findNext()也会发生这种情况。

我尝试了与缩放相关的不同参数组合,但没有成功。 (setBuiltInZoomControls(), setLayoutAlgorithm(), setSupportZoom(), setUseWideViewPort(), setLoadWithOverviewMode(), setOverScrollMode(), setInitialScale()

屏幕:

底部是水平滚动条,显示页面溢出屏幕。

我的代码:

String webContent = "";
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 20; i++) sb.append(i + "<br>");

sb.insert(0, "<div id='content' style='border: 4px solid #f00'>");
sb.append("</div>");
webContent = sb.toString();

webView.loadDataWithBaseURL("file:///android_asset/", webContent, "text/html", "utf-8", null);

此外,如果我向onScaleChanged()添加WebViewClient方法,则会显示当我向onScaleChanged()添加WebViewClient方法时,它会显示当我逐步搜索文本时页面/ WebView更改其比例,例如从1.59到1.64 ,然后从1.64到1.59

webView.setWebViewClient(new WebViewClient() {
  @Override
  public void onScaleChanged(WebView view, float oldScale, float newScale) {
    Fun.logd("-- onScaleChanged: " + oldScale + "; " + newScale);
    super.onScaleChanged(view, oldScale, newScale);
  }
});

有人知道这是否可以解决?

感谢。

0 个答案:

没有答案