flutter_html_text

把html解析为自定义Widget,可直接展示,使用方便快捷

功能

图片解析展示

普通图片展示

长图切割展示

图片点击 跳转相册(相册没有在解析中实现,只返回了图片地址list)

可定义图片间距

链接点击

webview视频播放(可直接播放,也可自定义处理)

段落样式支持(居左 居中 居右 引用 段落间距)

文字样式支持

字体大小

字体颜色

a 链接是下划线定义

链接字体颜色

行高

数字标签前缀

数字标签大小

点标签前缀

点标签大小

引用样式

引用样式颜色 宽度 margin 相对位置

字符横向间距

单词间距

加粗 倾斜等常见样式

使用方法

同步解析

String html =

'

这样好处,可能是为了了统一的渲染。加入式,会

';

HtmlTextView(html)

异步解析

HtmlParserToWidgetList(

imagePadding:

EdgeInsets.only(top: 2.0, left: 12.0, right: 12.0, bottom: 0.0),

videoPadding:

EdgeInsets.only(top: 4.0, left: 12.0, right: 12.0, bottom: 2.0),

htmlTextStyle: HtmlTextStyle(

height: 1.6,

fontSize: valueOfPt(17),

padding:

EdgeInsets.only(top: 6.0, left: 12.0, right: 12.0, bottom: 8.0),

digitalFontWeight: DigitalFontWeight.strong,

digitalPrefix: ' ',

pointPrefix: ' ',

defaultTextColor: isNightStyle ? Color(0xff898989) : Color(0xff333333),

letterSpacing: 1.0,

),

)

/// this.data 是需要解析的html

.asyncParseHtmlToWidgetList(this.data,

onTapCallback: this.onTapCallback, imageList: imageList, id: id)

.then((nodes) {

/// nodes 既为解析出的WidgetList

});

预览

效果图如下:

1c88c8e905f9141f3519c30b472315b7.png

9bdee3e90a09b3b6e9ddfb9e4ac6182d.png

915ac6f5f28de071da12235794001b03.png

af3616fb0062bad831e604cc0a43c07f.png

e94001c038362e98bc37ae43f34a12ad.png

觉得还可以的话,来个Star、Fork支持一波!有问题欢迎提Issue。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐