Android Oreo WebView 在第二次加载后呈现的布局太小

Android Oreo WebView renders layout too small after 2nd loading

在某些 Android Oreo 设备上,当我第一次在 webview 上加载 url 时,URL 页面会正确加载。但是,当我再次加载 URL 时,页面被缩小了。在低于 android oreo 的设备上,页面会为所有设备正确加载。

此外,当您在后台终止应用程序并再次加载时,URL 会正确加载。在第二次和随后的尝试中,它再次显示缩小版本。我在下面附上了已加载 URL 的图像

下面是在webview上正确加载的网页

下面是网页在webview webview上的小展示

Android XML代码:

<WebView
android:id="@+id/content_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

Java代码:

    private WebView mWebView;
    mWebView = (WebView) view.findViewById(R.id.content_view);
    mWebView.loadUrl("https://policies.google.com/");

URL: https://policies.google.com/

请注意,其他 URL 也会发生这种情况。 https://policies.google.com/只是一个例子

它适用于以下方面: 华为nova 2i RNE-L22, Android 8.0.0

它不适用于以下 Android8.1.0;像素 2 Android8.0.0;三星SM-G950FD Android8.0.1;华为 P20 EML-L29

对于发生这种情况的原因有什么建议或原因吗?如何解决这个问题?

提前致谢。

如果您遇到与放大 web 视图相关的问题

尝试为您的 webview 添加放大和缩小功能

您可以将这些行添加到您的 java 代码中,以实现放大和缩小

mWebView.loadUrl(url);
//code for zooming functions
webview.getSettings().setBuiltInZoomControls(true);
webview.getSettings().setSupportZoom(true);
//for javascript
webView.getSettings().setJavaScriptEnabled(true);

在向 google 团队询问此问题后, 据说这可能是一些视口布局设置。由于遗留问题,Webview 有一些不幸的默认值。,

添加 webview.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING); 解决了这个问题。