我的活动只有一个简单的 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);
}
});
有人知道这是否可以解决?
感谢。