Flutter开发会遇到各种各样的技术,而且flutter开发带来了新的“技术革命”,解放了iOS单一开发和Android单一开发所带来的巨大成本问题,一套flutter代码可以适用两种平台,既节约成本又提高了开发效率。Flutter开发现在是App开发的首选技术,那么本篇博文分享一下Flutter开发中在项目中加载本地html文件并显示的方法。

本篇博文案例只介绍使用flutter的webview加载项目本地的HTML文件,其他方式的HTML加载这里不再介绍。加载本地HTML的步骤,具体如下所示:

1、在项目工程里面新建一个存放HTML的文件夹;

2、鼠标选中新建的文件夹,然后点击右键,根据下拉菜单栏选择“在Finder中显示”,打开文件夹;

3、把桌面的HTML文件拖入到新建的“resource”文件中;

4、项目resource文件夹中显示HTML文件,就说明拖入成功了;

5、最后直接在具体的使用地方加载flutter的webview加载本地的HTML文件;

附webview.dart文件的全部代码,如下所示:

import 'dart:convert';

import 'package:flutter/material.dart';

import 'package:flutter/services.dart';

import 'package:flutter_screenutil/flutter_screenutil.dart';

import 'package:webview_flutter/webview_flutter.dart';

class WebViewPage extends StatefulWidget {

@override

_AgreementPageState createState() => _AgreementPageState();

}

class _AgreementPageState extends State {

WebViewController _webViewController;

String filePath = 'images/resource/user_.html';

@override

Widget build(BuildContext context) {

return Scaffold(

appBar: AppBar(

title: Text("用户协议"),

centerTitle: true,

),

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());

}

}

以上就是本章全部内容,欢迎关注三掌柜的微信公众号“iOS开发by三掌柜”,三掌柜的新浪微博“三掌柜666”,欢迎关注!

三掌柜的微信公众号:

三掌柜的新浪微博:

flutter html 加载_Flutter开发:项目加载本地html文件的步骤相关推荐

  1. vue 项目如何读取本地json文件数据

    在项目根目录有一个static文件夹目录,将所需要的json文件放在该static目录下,使用axios发起get请求获取对应的json文件数据 import axios from 'axios' / ...

  2. 解决IDEA加载多个项目(模块)时图片文件资源调用不出来的问题,new ImageIcon()图片相对路径加载失败的问题

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.分析问题 二.解决步骤 1.采用绝对路径 2.改良相对路径 前言 提示:这里可以添加本文要记录的大概内容: IDE ...

  3. flutter 微信语言选择_flutter实战项目,教你使用flutter打造微信app页面!

    flutter_wechat

  4. 直播、点播系统开发项目总结(本地视频、抓包视频、直播推流、网络直播、平台搭建等相关问题点记录)

    项目需求: 1.客户端实现各种格式的直播源兼容问题(组播.单播下常见直播地址格式皆可播放),以及直播分类.播放记录等: 2.客户端实现视频分类(单个视频可属于多个分类下).多格式兼容.本地数据库播放缓 ...

  5. Scrapy-Item Loaders(项目加载器)

    Item Loaders:http://doc.scrapy.org/en/latest/topics/loaders.html Item Loaders(中文版):https://scrapy-ch ...

  6. 小乌龟提交本地的文件夹下多个项目

    小乌龟提交本地的文件夹下多个项目 小乌龟提交本地的文件夹下多个项目 环境:win8.1 64bit 这里需要说明一下,网上也有很多绿色版免安装的,今天这里主要还是介绍安装版的是如何安装的,方便参考和学 ...

  7. ant design pro(一)安装、目录结构、项目加载启动【原始、以及idea开发】

    一.概述 1.1.脚手架概念 编程领域中的"脚手架(Scaffolding)"指的是能够快速搭建项目"骨架"的一类工具.例如大多数的React项目都有src,p ...

  8. Python的IDE:基于Eclipse/MyEclipse软件的PyDev插件配置python的开发环境(不同python项目加载不同版本的python)—从而实现Python编程图文教程之详细攻略

    Python的IDE:基于Eclipse/MyEclipse软件的PyDev插件配置python的开发环境(不同python项目加载不同版本的python)-从而实现Python编程图文教程之详细攻略 ...

  9. flutter 页面加载动画_Flutter撸一个加载动画

    目标 先上效果图: 目标.gif 是不是感觉跟ProgressDialog创建出来的一毛一样!!! 实现思路 使用对话框 首先想到的是用Flutter自带的SimpleDialog对话框,但是想到这玩 ...

最新文章

  1. Linxu用户登录监测
  2. 让你用 Chrome 上网快到想哭:Vimium
  3. SpringMVC+Spring+mybatis项目搭建详细过程
  4. 大学学习论坛 需求分析报告.菜鸟版.多喷.看看问题所在
  5. 双向链表VS单向链表
  6. 初识 Vue(11)---(Vue 中的事件绑定)
  7. mysql链接压测_MySQL压测工具mysqlslap的介绍与使用
  8. Windows CE的存储与地址映射技术学习
  9. php 给图片加水印
  10. MyBatis入门使用方式
  11. Linux安装和卸载JDK8详解
  12. 通过黑客代号带你回顾九位世界顶尖的黑客大咖
  13. 7-14 电话聊天狂人
  14. VRP系统——路由器配置之信息中心基础
  15. VMware安装win7后,安装VMware Tools时报错安装程序无法继续
  16. FlexRay总线协议快速入门、深度剖析与应用示例
  17. CF1238E Keyboard Purchase
  18. 妹子:我都这样给你讲类加载器了,还不懂!
  19. 苹果电脑拷贝文件到u盘很慢_ChronoSync v4.9.1 一款文件资料数据云同步备份工具...
  20. Python建模常用代码

热门文章

  1. 【中级04】Java 虚拟机 Runtime Data Areas以及垃圾回收
  2. html 输入类型,HTML 输入类型(示例代码)
  3. 报错:libtool: Version mismatch error. This is libtool 2.4.6解决
  4. Android系统信息获取 之二:版本信息获取
  5. Sensor框架理解
  6. RTSP之主流安防厂家地址
  7. 推箱子游戏的java设计思路_用JAVA实现一个推箱子游戏
  8. vim 快捷键_VIM学习笔记 环绕字符编辑(surround)
  9. spark 算子使用类变量_Scala与Spark是天生的一对?
  10. java websocket_教你用纯Java实现一个网页版的Xshell(附源码)