首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flutter Widgets 之 RichText

因此文字的排版非常重要,通常情况下Text组件可以完成绝大多数需求,它可以显示不同大小的文字、字体、颜色等,如果想在一句话或者一段文字里面显示不同样式的文字,Text组件无法满足我们的需求,这个时候需要使用RichText...RichText( text: TextSpan( style: DefaultTextStyle.of(context).style, children...Colors.red)), TextSpan(text: ','), TextSpan(text: '一个有态度的程序员'), ]), ) RichText...style,在子组件其中一个TextSpan设置不同的样式,比如上面的代码中设置“老孟”文字为红色,效果如下: [20200301133344774.png] 当文字有较多行时,可以设置其对齐方式: RichText...2020030114295040.png] TextAlign.end的效果: [20200301142905406.png] 手势交互 当然我们也可以设置其他样式,比如大小、斜体等,甚至我们还可以添加点击效果, RichText

1.1K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    cocos2dx实现功能强大的RichText控件

    最近准备做一个聊天系统,开始准备使用cocos2dx的UIRichText控件来显示聊天内容,结果在使用的时候才发现,cocos2dx的RichText功能非常有限,完全不具备实现聊天的功能...我个人认为,一个RichText控件应该具备以下基本功能:       1、多样化的文本显示功能,包括字体、颜色、字号的设置。       2、能显示图片以及一些特殊元素。      ...cocos2dx只实现了基础的1和2功能,所以考虑之后还是决定自己写一个RichText控件。UIRichText的框架还是不错的,实现了文本分行显示的技术。在他的基础上很容易扩展。 ...源代码在这里,cocos2dx-3.0功能强大的richText控件       最后贴一下使用的代码和效果图吧!      ..._richChat if richText and channel and roleName and chatMsg then local ChannelNameSwitch =

    1.6K20

    【Flutter 专题】32 Flutter 32: 图解 TextPainter 与 TextSpan 小尝试

    大家在学习 Flutter 时一定会用过 Text,而对于一些复杂文本的处理可能会选择 RichText,再进一步,使用 RichText 就一定要用 TextSpan ,和尚本以为可以做为一个小知识点进行简单学习...RichText 富文本核心即 TextSpan,而 TextSpan 结构很像 Android 中的 ViewGroup 树型结构。 ? ?...RichText 日常用法 和尚理解为 RichText 是进阶版的 Text,如下直接看实例: TextDirection 用来控制文字位置,居左或居右边;当与 TextAlign 属性共存时...,优先看整体,以 TextAlign 为准; Widget richTextWid01() { return RichText( text: TextSpan( text...与 RichText 功能相同,可以完全实现 RichText 效果; TextPainter 绘制需要实现 layout 与 paint 方法,即绘制位置与绘制范围。

    2K41

    Flutter 中的图文混排与原理解析

    实现原理 我们常用的 Text 控件其实只是 RichText 的封装,而 RichText 的实现如下图所示,主要可以分为三部分:MultiChildRenderObjectWidget 、 MultiChildRenderObjectElement...、布局相关; RichText 继承 MultiChildRenderObjectWidget 主要是需要通过 MultiChildRenderObjectElement 来处理 WidgetSpan...在前面的使用中,我们首先是传入了一个 TextSpan 给 RichText ,并在 TextSpan 的 children 中拼接我们需要的内容,那就从 RichText 开始挖掘其中的原理。...如上代码所示,这里我们首先看 RichText 的入口,可以看到 RichText 开始是有一个 _extractChildren 方法,这个方法主要是将传入 TextSpan 的 children 里...RichText 中插入控件的管理巧妙的依托到 MultiChildRenderObjectWidget 中,从而复用了原本控件的管理逻辑,之后依托引擎计算位置从而绘制完成。

    3.1K20
    领券