Flutter Markdown渲染插件markdown_styled_widget的使用
Flutter Markdown渲染插件markdown_styled_widget的使用
默认示例 | 自定义示例 |
---|---|
可用的Markdown特性
- 一级到六级标题
- 多行和内联代码
- 粗体和斜体文本
- 链接
- 图片
- 引用块
- 分隔线
开始使用
在你的 pubspec.yaml
文件中添加依赖:
dependencies:
markdown_styled_widget: ^0.0.1
导入包:
import 'package:markdown_styled_widget/UI/markdown_styled_widget.dart';
基本用法
MarkdownStyledWidget(text);
自定义用法
MarkdownStyledWidget(text,
style: MarkdownStyledWidgetStyles(
// 描述样式
),
)
可用的样式
以下是 MarkdownStyledWidgetStyles
类中的可用参数:
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
fontSize |
double |
16 |
文本的默认大小 |
defaultFont |
String |
'Roboto' |
文本的默认字体 |
defaultWeight |
FontWeight |
normal |
文本的默认权重 |
defaultForeground |
Color |
black |
文本的默认颜色 |
boldWeight |
FontWeight |
bold |
粗体文本的权重 |
boldForeground |
Color |
black54 |
粗体文本的颜色 |
linkForeground |
Color |
blueAccent |
链接视图的颜色 |
blockquoteFont |
String |
'IbarraRealNova' |
引用块的字体 |
blockquoteSize |
double |
16 |
引用块的字体大小 |
blockquoteBackground |
Color |
grey |
引用块的背景颜色 |
blockquoteForeground |
Color |
black54 |
引用块的文本颜色 |
blockquoteBorderColor |
Color |
blueGrey |
引用块左侧边框的颜色 |
blockquoteBorderSize |
double |
10 |
引用块左侧边框的宽度 |
blockquotePadding |
double |
10 |
引用块的填充大小 |
codeBackground |
Color |
black12 |
代码语句的背景颜色 |
codePadding |
double |
10 |
代码语句的填充大小 |
codeBorderRadius |
double |
10 |
多行代码语句的圆角半径 |
codeForeground |
Color |
black87 |
代码语句的文本颜色 |
codeFont |
String |
'RobotoMono' |
代码语句的字体 |
codeWeight |
FontWeight |
normal |
代码语句的字体权重 |
heading1Size |
double |
32 |
一级标题的字体大小 |
heading1Line |
bool |
true |
一级标题后是否有线条 |
heading1Weight |
FontWeight |
w500 |
一级标题的字体权重 |
heading2Size |
double |
28 |
二级标题的字体大小 |
heading2Line |
bool |
false |
二级标题后是否有线条 |
heading2Weight |
FontWeight |
w500 |
二级标题的字体权重 |
heading3Size |
double |
24 |
三级标题的字体大小 |
heading3Line |
bool |
false |
三级标题后是否有线条 |
heading3Weight |
FontWeight |
w500 |
三级标题的字体权重 |
heading4Size |
double |
20 |
四级标题的字体大小 |
heading4Line |
bool |
false |
四级标题后是否有线条 |
heading4Weight |
FontWeight |
w500 |
四级标题的字体权重 |
heading5Size |
double |
16 |
五级标题的字体大小 |
heading5Line |
bool |
false |
五级标题后是否有线条 |
heading5Weight |
FontWeight |
w500 |
五级标题的字体权重 |
heading6Size |
double |
12 |
六级标题的字体大小 |
heading6Line |
bool |
false |
六级标题后是否有线条 |
heading6Weight |
FontWeight |
w500 |
六级标题的字体权重 |
lineHeight |
double |
1 |
单独行的高度 |
lineColor |
Color |
grey |
单独行的颜色 |
spaceSize |
double |
10 |
小部件之间的间距 |
许可证
该项目采用MIT许可证。详情请参阅 LICENSE 文件。
完整示例Demo
以下是一个完整的示例Demo,展示了如何使用 markdown_styled_widget
插件:
import 'package:flutter/material.dart';
import 'package:markdown_styled_widget/UI/markdown_styled_widget.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
[@override](/user/override)
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String text = '';
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('插件示例应用'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Expanded(
child: TextField(
keyboardType: TextInputType.multiline,
maxLines: null,
onChanged: (v) {
setState(() {
text = v;
});
},
),
),
const Divider(thickness: 5),
Expanded(
child: SingleChildScrollView(child: MarkdownStyledWidget(text))),
],
),
),
),
);
}
}
更多关于Flutter Markdown渲染插件markdown_styled_widget的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复