| 123456789101112131415161718192021222324252627282930313233343536 |
- import 'package:cached_network_image/cached_network_image.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter_markdown/flutter_markdown.dart';
- /// Markdown组件
- class MarkdownViewer extends StatelessWidget {
- /// 内容
- final String content;
- /// 内容是否可以滚动
- final bool enableContentScroll;
- const MarkdownViewer({
- super.key,
- required this.content,
- required this.enableContentScroll,
- });
- @override
- Widget build(BuildContext context) {
- return Markdown(
- // 文档内容
- data: content,
- // 让Markdown高度自适应内容
- shrinkWrap: !enableContentScroll,
- // 禁用自身滚动
- physics:
- enableContentScroll
- ? BouncingScrollPhysics()
- : const NeverScrollableScrollPhysics(),
- // 配置图片加载器
- imageBuilder:
- (uri, title, alt) => CachedNetworkImage(imageUrl: uri.toString()),
- );
- }
- }
|