Text概述

即一个单一样式的文本 Text Widget就是显示单一样式的文本字符串。字符串可能会跨越多行,也可能全部显示在同一行上,具体取决于布局约束。

style参数可选。如果省略了,文本将使用最近的DefaultTextStyle的样式。如果给定样式的TextStyle.inherit属性为true(默认值),则给定样式将与最近的DefaultTextStyle合并。例如,比如可以在使用默认字体系列和大小时使文本变为粗体。

第一个构造函数:

const Text(this.data, {Key key,this.style,this.strutStyle,this.textAlign,this.textDirection,this.locale,this.softWrap,this.overflow,this.textScaleFactor,this.maxLines,this.semanticsLabel,}) : assert(data != null),textSpan = null,super(key: key);
复制代码

1. style及构造函数

style对文本的样式,颜色,字体大小等有更加详尽的定制,如果省略该参数则使用DefaultTextStyle

const TextStyle({this.inherit = true,this.color,this.fontSize,this.fontWeight,this.fontStyle,this.letterSpacing,this.wordSpacing,this.textBaseline,this.height,this.locale,this.foreground,this.background,this.shadows,this.decoration,this.decorationColor,this.decorationStyle,this.debugLabel,String fontFamily,List<String> fontFamilyFallback,String package,}) : fontFamily = package == null ? fontFamily : 'packages/$package/$fontFamily',_fontFamilyFallback = fontFamilyFallback,_package = package,assert(inherit != null),assert(color == null || foreground == null, _kColorForegroundWarning);
复制代码
  • inherit 是否将null值替换为祖先文本样式中的值(例如,在TextSpan树中)。如果为false,则没有显式值的属性将恢复为默认值:白色,字体大小为10像素,采用无衬线字体。
  • color 字体的颜色
  • fontSize 文字大小,单位为像素,如果没有指定大小则默认为14像素,可以乘以textScaleFactor来增加字体大小以便用户更加方便的阅读
  • fontWeight 字体厚度,可以使文本变粗或变细
  • fontStyle 字体变形,有两种 FontStyle.normal(字体直立), FontStyle.italic(字体倾斜)
  • letterSpacing 字母间距,整数拉开字母距离,若是负数则拉近字母距离
  • wordSpacing,单词间距,同上
  • textBaseline 用于对齐文本的水平线
  • height 文本行高,为字体大小的倍数
  • locale 用于选择区域特定符号的区域设置
  • foreground 这个未知
  • background 文本的背景颜色
  • shadows 文本的阴影可以利用列表叠加处理,例如shadows: [Shadow(color:Colors.black,offset: Offset(6, 3), blurRadius: 10)], color即阴影的颜色, offset即阴影相对文本的偏移坐标,blurRadius即阴影的模糊程度,越小越清晰
  • decoration 文字的线性装饰,比如 underline 下划线, lineThrough删除线
  • decorationColor 文本装饰线的颜色
  • decorationStyle 文本装饰线的样式,比如 dashed 虚线
  • debugLabel 这种文本样式的可读描述,此属性仅在调试构建中维护。

简单使用案例:

import 'package:flutter/material.dart';
void main() => runApp(MyApp());
// Text详解
class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return new MaterialApp(title: 'Flutter_Wieghts',home: Scaffold(appBar: AppBar(title: Text('Text Learn'),),body: Center(child: Text('Hello World'*4,style: TextStyle(inherit: true,color: Colors.white,fontSize: 30.0,fontWeight: FontWeight.w400,fontStyle: FontStyle.italic,letterSpacing: 5,wordSpacing: 20,textBaseline: TextBaseline.alphabetic,height: 1.2,locale: Locale('fr', 'CH'),background: Paint() ..color = Colors.blue,shadows: [Shadow(color:Colors.black,offset: Offset(6, 3), blurRadius: 10)],decoration: TextDecoration.underline,decorationColor: Colors.black54,decorationStyle: TextDecorationStyle.dashed,debugLabel: 'test',),),),));}
}复制代码

示例效果:

转载于:https://juejin.im/post/5cbf34275188250a8e789c95

Flutter 基础Widgets Text()之TextStyle详解相关推荐

  1. Flutter中Scaffold布局的使用详解及实例代码

    Flutter中Scaffold布局的使用详解及实例代码 Scaffold实现了基本的Material布局.只要是在Material中定义了的单个界面显示的布局控件元素,都可以使用Scaffold来绘 ...

  2. [Python从零到壹] 八.数据库之MySQL和Sqlite基础知识及操作万字详解

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  3. 前端基础-HTML的的标签详解

    阅读目录 一.head内常用标签 二. HTML语义化 三. 字符实体 四. h系列标签 五. p标签 六. img标签 七. a标签 八. 列表标签 九. table标签 十. form标签 一. ...

  4. 零基础入门 Unity 之 UGUI 详解专栏 | 寻找C站宝藏

    零基础入门 Unity 之 UGUI 详解专栏 | 寻找C站宝藏 六大推荐理由 理由一:系统 理由二:详细 理由三:专业 理由四:图解 理由五:深度 理由六:实例 一键直达:<UGUI 控件详解 ...

  5. 关于计算机应用基础问题,《计算机应用基础》习题及问题详解

    <计算机应用基础>习题及问题详解 (17页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实用文档第一章 计算机基础知识填空题 ...

  6. get方法报空指针_C++基础教程之指针拷贝详解

    C++基础教程之指针拷贝详解 指针是编程人员的梦魇,对C语言的开发者是如此,对C++的开发者也是如此.特别是在C++中,如果不注意处理类中的指针,非常容易出问题.如果朋友们不相信可以看看下面的代码: ...

  7. Java中大数据数组,Java基础学习笔记之数组详解

    摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...

  8. Keras深度学习实战(1)——神经网络基础与模型训练过程详解

    Keras深度学习实战(1)--神经网络基础与模型训练过程详解 0. 前言 1. 神经网络基础 1.1 简单神经网络的架构 1.2 神经网络的训练 1.3 神经网络的应用 2. 从零开始构建前向传播 ...

  9. 纹理基础知识和过滤模式详解

    转载自 纹理基础知识和过滤模式详解 1. 为什么在纹理采样时候需要 texture filter (纹理过滤) 我们的纹理 要贴到三维图形表面,而三维图形上的pixel中心与纹理上的texel中心并不 ...

最新文章

  1. 从15000个Python开源项目中精选的Top30,Github平均star为3707,赶紧收藏!
  2. NOIP2017 小凯的疑惑
  3. ASP.NET中随机数生成及应用
  4. 智能车竞赛技术报告 | 智能车视觉 - 中南大学 - 中南大学比亚迪午马2021
  5. pandas pivot 占比_数据处理进阶pandas入门(十八)
  6. Java黑皮书课后题第3章:*3.34(几何:线段上的点)编程练习题3.32显示了如何测试一个点是否在一个无限长的直线上。修改3.32测试一个点是否在一个线段上。编写程序,输入三个点坐标,显示在否线段
  7. Log4J入门教程(三) maven构建
  8. 第10章-管理Hadoop集群-hadoop 安全模式相关知识点
  9. java –cp ./:_成为Java流专家–第2部分:中级操作
  10. 前端学习(1553):复习2
  11. Aruba发布业界首款服务智能边缘的云原生平台Aruba ESP
  12. Spring Boot笔记-logback-spring.xml获取application.properties中的变量
  13. php warning: array_merge(),php数组合并array_merge()函数使用注意事项_php技巧
  14. sp+Ssh+Mysql实现的简单的企业物资信息管理
  15. 直播疑难杂症排查(1)— 播放失败
  16. bzoj3224: Tyvj 1728 普通平衡树
  17. 信息与计算机科学二级学科,《信息计算与智能系统》二级学科 硕士研究生培养方案...
  18. 曾是谷歌程序员,抛下百万年薪创业,4年成就7亿用户,今身价百亿!
  19. Excel对整体数据定位相同的背景颜色单元格?
  20. NAND flash 基础知识

热门文章

  1. boost::mp11::mp_partial_sum相关用法的测试程序
  2. boost::mp11::mp_any_of_q相关用法的测试程序
  3. boost::geometry::dot_product用法的测试程序
  4. boost::local_time模块custom_time_zone 和 posix_time_zone 的简单示例
  5. GDCM:读取显式长度SQIVR的测试程序
  6. boost::core模块实现分配器解除分配
  7. OpenGL stencil test模板测试的实例
  8. OpenGL 基础光照ColorsBasic Lighting
  9. C++实现对链表的选择排序算法(附完整源码)
  10. 哈希表处理冲突的方法?