gpt4 book ai didi

android - iOS中Webview Flutter字体太小

转载 作者:行者123 更新时间:2023-11-28 23:28:27 40 4
gpt4 key购买 nike

我有 html 代码,我需要在 webview 中呈现以显示 HTML 文本编辑器样式的内容。唯一的选择是使用 webview。因此,我实现了我的 API 来发送特定的响应 <div>元素并使用官方显示它 flutter webview . Android 显示正确,而 IOS 字体非常小(甚至无法阅读)。我做错了什么?

相关代码 fragment :

var contentBase64 = base64Encode(const Utf8Encoder()
.convert(
"""<html>
<body style='"margin: 0; padding: 0;'>
<div>
$htmlString //my html code snippet coming from API
</div>
</body>
</html>"""));

//.....
WebView(
initialUrl: 'data:text/html;base64,$contentBase64',
// gestureRecognizers: Set()..add(Factory<VerticalDragGestureRecognizer>(()=>VerticalDragGestureRecognizer())),
),

最佳答案

原因是,你只包裹了 html元素。您必须指定 meta标记以响应 IOS 设备。为此,您还必须添加 head元素如下:

  var contentBase64 = base64Encode(const Utf8Encoder()
.convert(
"""<!DOCTYPE html>
<html>
<head><meta name="viewport" content="width=device-width, initial-scale=1.0"></head>
<body style='"margin: 0; padding: 0;'>
<div>
$htmlString
</div>
</body>
</html>"""));

我认为:

Android 足够聪明,可以识别没有 <meta> 的 html 代码有视口(viewport),但 IOS 没有。您必须明确地将视口(viewport)设置为移动设备,就像您让 webapp 响应移动设备一样。

最好包装<!DOCTYPE html>正确呈现的注释。

这正是您的代码所需要的:

<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width, initial-scale=1.0"></head><!--rest of your html-->

关于android - iOS中Webview Flutter字体太小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57752837/

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