flutter识别html标签,flutter - 如何使用flutter_html包根据html标签呈现自定义窗口小部件? - 堆栈内存溢出...

我有一个HTML文档,我想使用flutter_html插件使用Flutter呈现它。 我想以不同的方式呈现不同的版式。 例如。 我想为粗体设置不同的字体和大小,为非粗体设置不同的字体和大小。

我试图阅读文档,该文档具有Html构造函数的属性customRenderer ,我无法理解其实现。

以下是文档中的代码。

Html(

data: """

Demo Page

This is a fantastic nonexistent product that you should buy!

Pricing

Lorem ipsum dolor sit amet.

The Team

There isn't really a team...

Installation

You cannot install a nonexistent product!

""",

padding: EdgeInsets.all(8.0),

backgroundColor: Colors.white70,

defaultTextStyle: TextStyle(fontFamily: 'serif'),

linkStyle: const TextStyle(

color: Colors.redAccent,

),

onLinkTap: (url) {

},

customRender: (node, children) {

if(node is dom.Element) {

switch(node.localName) {

case "video": return Chewie(...);

case "custom_tag": return CustomWidget(...);

}

}

},

)

如果我可以根据标签名称更改字体大小和字体系列,那就可以了。

很高兴为您解答问题!关于Flutter实战视频-移动电商-48.详细页_详情和评论的切换,我可以提供以下解答: 在Flutter实战视频-移动电商-48中,详细页的详情和评论的切换是通过一个TabBar实现的。具体来说,通过在AppBar中添加一个TabBar来实现不同页面之间的切换。在这个TabBar中,我们可以添加两个Tab,分别为“详情”和“评论”,并分别对应两个页面。当用户点击不同的Tab时,就可以切换到不同的页面。 在Flutter中,TabBar可以使用DefaultTabController和TabBarView来实现。DefaultTabController是一个Widget,它可以管理TabBar和TabBarView之间的关系。TabBarView则是一个Widget,它可以显示不同的页面。 具体实现方法如下: ```dart class DetailPage extends StatefulWidget { @override _DetailPageState createState() => _DetailPageState(); } class _DetailPageState extends State<DetailPage> { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('商品详情'), bottom: TabBar( tabs: <Widget>[ Tab( text: '详情', ), Tab( text: '评论', ), ], ), ), body: DefaultTabController( length: 2, child: TabBarView( children: <Widget>[ // 详情页面 DetailWidget(), // 评论页面 CommentWidget(), ], ), ), ); } } ``` 在上面的代码中,我们首先创建了一个AppBar,并在其中添加了一个TabBar。然后,在Scaffold的body中,我们创建了一个DefaultTabController,并将其length设为2,即有两个页面。最后,我们在TabBarView中添加了两个Widget,即DetailWidget和CommentWidget,分别对应详情页面和评论页面。 希望这个解答能够对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值