| 1234567891011121314151617181920212223242526272829303132333435363738 |
- 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
- // 允许滑动
- ? ClampingScrollPhysics()
- // 禁止滑动
- : const NeverScrollableScrollPhysics(),
- // 配置图片加载器
- imageBuilder:
- (uri, title, alt) => CachedNetworkImage(imageUrl: uri.toString()),
- );
- }
- }
|