在 Flutter 中,可以通过 webview_flutter 插件加载并设置 HTML 样式。以下是具体步骤:
-
添加依赖
在 pubspec.yaml 中添加:
dependencies:
webview_flutter: ^4.4.2
-
加载 HTML 并注入 CSS
使用 WebViewController 的 loadHtmlString() 方法,通过 <style> 标签或 JavaScript 动态修改样式:
import 'package:webview_flutter/webview_flutter.dart';
WebViewController controller = WebViewController()
..loadHtmlString('''
<html>
<head>
<style>
body {
font-family: Arial;
background-color: #f0f0f0;
color: blue;
}
</style>
</head>
<body>
<h1>自定义样式HTML</h1>
</body>
</html>
''');
-
在 Widget 中使用
WebViewWidget(controller: controller)
注意事项:
- 使用
webview_flutter 需要 Android 或 iOS 平台配置。
- 可通过 JavaScript 进一步动态调整样式(例如调用
controller.runJavaScript())。
- 复杂样式建议直接编写完整 HTML/CSS 内容。
如需加载远程网页并修改样式,可通过 controller.runJavaScript() 注入 CSS:
controller.runJavaScript('''
document.body.style.backgroundColor = "yellow";
''');