Flutter中如何加载并预览本地的html文件的方法

时间:2021-05-20

直接进入主题,大概步骤如下

在 assets 创建需要访问 html 文件,如下

这里创建一个files文件夹,专门来放这些静态 html 文件.

在 pubspec.yaml 中配置访问位置

assets: - assets/images/ - assets/files/

在 pubspec.yaml 添加 webview_flutter 插件依赖

webview_flutter: ^0.3.15+1 // 具体版本请查看官网

进入实际的代码操作

import 'dart:convert';import 'package:flutter/material.dart';import 'package:flutter/services.dart';import 'package:webview_flutter/webview_flutter.dart';class AgreementPage extends StatefulWidget { @override _AgreementPageState createState() => _AgreementPageState();}class _AgreementPageState extends State<AgreementPage> { WebViewController _webViewController; String filePath = 'assets/files/agreement.html'; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text('享你来服务条款')), body: WebView( initialUrl: '', javascriptMode: JavascriptMode.unrestricted, onWebViewCreated: (WebViewController webViewController) { _webViewController = webViewController; _loadHtmlFromAssets(); }, ) ); } _loadHtmlFromAssets() async { String fileHtmlContents = await rootBundle.loadString(filePath); _webViewController.loadUrl(Uri.dataFromString(fileHtmlContents, mimeType: 'text/html', encoding: Encoding.getByName('utf-8')) .toString()); }}

最终预览的效果如下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章