dart - 如何显示 HTML Assets 文件?

我的 assets 目录中有一个 .html 文件。

如何在 Flutter 中显示/渲染它?

最佳答案

Flutter 团队 的包昨天发布了:

webview_flutter

如何加载本地资源:

将文件添加到项目并更新您的 pubspec:

//...
assets:
    //...
    - assets/yourFile.html
    //...

在您的小部件中:

child: FutureBuilder<String>(
  future: LocalLoader().loadLocal(),
  builder: (context, snapshot) {
    if (snapshot.hasData) {
      //                                return Text("${snapshot.data}");
      return WebView(
        initialUrl: new Uri.dataFromString(snapshot.data,
                mimeType: 'text/html')
            .toString(),
        // maybe you Uri.dataFromString(snapshot.data, mimeType: 'text/html', encoding: Encoding.getByName("UTF-8")).toString()
        javascriptMode: JavascriptMode.unrestricted,
      );
    } else if (snapshot.hasError) {
      return Text("${snapshot.error}");
    }

    return CircularProgressIndicator();
  },
),

从文件中加载文本:

class LocalLoader {
  Future<String> loadLocal() async {
    return await rootBundle.loadString('assets/yourFile.html');
  }
}

关于dart - 如何显示 HTML Assets 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45428388/

相关文章:

string - 如何在本地保存用户名并在每个页面 flutter 中显示

dart - 如何在 Flutter 中清除 AnimatedList 中的所有项目

flutter - 如何在 flutter 中为下拉弹出窗口设置动态高度

dart - Flutter - 创建值和名称数组

listview - ListView中如何维护widget的状态?

firebase - 持久化用户身份验证 Flutter Firebase

android-studio - Flutter Emulator 连接到服务协议(protocol

dart - ListView.builder 在 flutter 中逐项滚动

flutter - 使用 FadeInImage Flutter 正确拟合图像

flutter - 在屏幕外构建小部件