gpt4 book ai didi

SINGLE_COLUMN 模式的 Android webview 问题

转载 作者:太空宇宙 更新时间:2023-11-03 13:29:13 24 4
gpt4 key购买 nike

我目前遇到 Android WebView 问题。此 webview 当前初始化如下:

_post_WebView = (WebView) view.findViewById(R.id.post_webview);
_post_WebView.setBackgroundColor(Color.WHITE);
_post_WebView.setWebViewClient(new PostWebViewClient());
_post_WebView.getSettings().setBuiltInZoomControls(true);
_post_WebView.getSettings().setSupportZoom(true);
_post_WebView.getSettings().setPluginState(PluginState.ON);
_post_WebView.getSettings().setJavaScriptEnabled(true);
_post_WebView.getSettings().setRenderPriority(RenderPriority.HIGH);
_post_WebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
_post_WebView.setWebChromeClient(new WebChromeClient() {});
_post_WebView.getSettings().setUseWideViewPort(false);
_post_WebView.getSettings().setLoadWithOverviewMode(true);
_post_WebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

此 webview 用于显示从服务器检索的 HTML 字符串。 (使用 loadData 方法)。现在的问题是,在 SINGLE_COLUMN 模式下,图像和文本的宽度和高度都已正确调整,但嵌入的 youtube 视频虽然调整了宽度,但没有调整高度,因此只显示一个黑框。

LayoutAlgorithm.NORMAL 中一切正常。我如何确保 YouTube 视频也在 SINGLE_COLUMN 算法中正确调整大小?

Youtube 视频是这样嵌入的:

<iframe allowfullscreen="" frameborder="0" height="315" width="420" src="YOUTUBE_VIDEO_LINK"></iframe>

最佳答案

我最终使用 loadDataWithBaseURL(null, htmlString, "text/html", "utf-8", null) 而不是 loadData(htmlString,"text/html","utf-8") 同时添加 100% max-width 属性和自动 widthheight 属性使用 CSS 到 iframe:

htmlString = "<html><head><style>iframe {max-width: 100%; width:auto; height: auto;}</style></head><body>"+htmlString+"</body></html>";

这不是最简洁的方法,但它确实有效。

如果与布局算法 NARROW_COLUMNS 一起使用,此方法也应该有效。

关于SINGLE_COLUMN 模式的 Android webview 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15450370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com