在Flutter中使用markdown

举报
青年码农 发表于 2022/08/25 00:24:43 2022/08/25
【摘要】 最近在写flutter入门的项目,打算把常用的widgets和插件用法总结下,方便后期查找,项目大概是这个样子。 搜索页 widgets属性页面写的时候考虑排版,但是文字居多,如果设计下排版,用widgets把样式写好,后期如果需要修改,则改动比较大,所以考虑使用markdown,毕竟也是支持的。 1.安装依赖 根...

最近在写flutter入门的项目,打算把常用的widgets和插件用法总结下,方便后期查找,项目大概是这个样子。

搜索页

736067ce433e2b35f1fb9923918fca82.png

aa421ed32e9dd7ca90ae92bb429d707b.png

widgets属性页面写的时候考虑排版,但是文字居多,如果设计下排版,用widgets把样式写好,后期如果需要修改,则改动比较大,所以考虑使用markdown,毕竟也是支持的。

1.安装依赖

根目录下pubspec.yaml文件增加 flutter_markdown: ^0.3.4


   
  1. dependencies:
  2. flutter:
  3. sdk: flutter
  4. flutter_markdown: ^0.3.4

我使用的编辑器是VSCode,保存自动下载依赖,如果没有的话,执行

flutter pub get
  

2.创建markdown

我在lib目录下新建文件夹markdown,文件夹里新建container.md文件,在根目录下pubspec.yaml文件中增加

d9c729625c26ccd8c73e794a852fa14c.png

3.使用markdown

引入markdown

e56a694970631f4678075bcbb7770011.png


   
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter/services.dart';
  3. import 'package:flutter_markdown/flutter_markdown.dart';

导入md文件,展示(重点是红圈中的)

3b775acb7ab59a0ee807c6417f0091a7.png


   
  1. return Container(
  2. child: FutureBuilder(
  3. future: rootBundle.loadString('lib/markdown/container.md'),
  4. builder: (BuildContext context, AsyncSnapshot snapshot) {
  5. if (snapshot.hasData) {
  6. return Markdown(
  7. data: snapshot.data,
  8. selectable: true,
  9. styleSheet: MarkdownStyleSheet(
  10. // 支持修改样式
  11. h1: TextStyle(fontSize: 14),
  12. ),
  13. );
  14. } else {
  15. return Center(
  16. child: Text("加载中..."),
  17. );
  18. }
  19. },
  20. ),
  21. );

最终效果

0bbfb53763830567d3fed99f5fa1654e.png

文章来源: blog.csdn.net,作者:NMGWAP,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/NMGWAP/article/details/125066884

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。