视图数据流转机制、底层渲染方案、视图更新策略等知识、都是构成一个UI框架的根本、只有把这些最基础的知识弄明白了,修炼好了内功,才能触类旁通。由点及面形成自己的知识体系,也能够在框架上思考应用层构建视图实现的合理性

文本控件

  • 在Flutter中,文本展示是通过Text控件实现的
  • Text 支持两种类型的文本展示、一种是默认的展示单一样式的文本Text、另一个是支持多种混合样式的富文本Text.rich
  • 单一样式文本Text的初始化、是要传入需要展示的字符串、而这个字符串的具体展示效果,受构造函数中的其他参数控制,这些参数大致可以分为两类:
  • 控制整体文本布局的参数,如文本对齐方式textAlign、文本排版方向textDirection,文本显示最大行数maxLines、文本截断规则overflow等等、这些都是构造函数中的参数。
  • 控制文本展示样式的参数,如字体名称fontFamily,字体大小fontSize、文本颜色color、文本阴影shadows等等,这些参数被统一封装到了构造函数中的参数style中。

    1. text(
    2. '文本是视图系统中的常见控件、用来显示一段特定样式的字符串、就比如Android里的TextView、或是iOS里的UILabel。'
    3. textAlign : TextAlign.center, // 居中显示
    4. style : TextStyle(fontWeight: fontWeight.bold, fontize:20,color:color.red),// 20号红色粗体
    5. );
  • 如何在一段字符串中支持多种混合展示样式,混合展示样式与单一样式的关键区别在于分片。如何把一个字符串分为几个片段来管理,给每个片段单独设置样式。在Flutter中使用textSpan、TextSpan 定义了一个字符串判断该如何控制其展示样式,而将这些有着独立展示样式的字符串组装在一起。可以支持混合样式的富文本展示。 ``` TextStyle blackStyle = TextStyle (fontWeight : FontWeight.normal, fontSize: 20, color: color.black); // 黑色样式 TextStyle redStyle = TextStyle (fontWeight :)

```