Flutter 基础Widgets Text()之TextStyle详解
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详解相关推荐
- Flutter中Scaffold布局的使用详解及实例代码
Flutter中Scaffold布局的使用详解及实例代码 Scaffold实现了基本的Material布局.只要是在Material中定义了的单个界面显示的布局控件元素,都可以使用Scaffold来绘 ...
- [Python从零到壹] 八.数据库之MySQL和Sqlite基础知识及操作万字详解
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- 前端基础-HTML的的标签详解
阅读目录 一.head内常用标签 二. HTML语义化 三. 字符实体 四. h系列标签 五. p标签 六. img标签 七. a标签 八. 列表标签 九. table标签 十. form标签 一. ...
- 零基础入门 Unity 之 UGUI 详解专栏 | 寻找C站宝藏
零基础入门 Unity 之 UGUI 详解专栏 | 寻找C站宝藏 六大推荐理由 理由一:系统 理由二:详细 理由三:专业 理由四:图解 理由五:深度 理由六:实例 一键直达:<UGUI 控件详解 ...
- 关于计算机应用基础问题,《计算机应用基础》习题及问题详解
<计算机应用基础>习题及问题详解 (17页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实用文档第一章 计算机基础知识填空题 ...
- get方法报空指针_C++基础教程之指针拷贝详解
C++基础教程之指针拷贝详解 指针是编程人员的梦魇,对C语言的开发者是如此,对C++的开发者也是如此.特别是在C++中,如果不注意处理类中的指针,非常容易出问题.如果朋友们不相信可以看看下面的代码: ...
- Java中大数据数组,Java基础学习笔记之数组详解
摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...
- Keras深度学习实战(1)——神经网络基础与模型训练过程详解
Keras深度学习实战(1)--神经网络基础与模型训练过程详解 0. 前言 1. 神经网络基础 1.1 简单神经网络的架构 1.2 神经网络的训练 1.3 神经网络的应用 2. 从零开始构建前向传播 ...
- 纹理基础知识和过滤模式详解
转载自 纹理基础知识和过滤模式详解 1. 为什么在纹理采样时候需要 texture filter (纹理过滤) 我们的纹理 要贴到三维图形表面,而三维图形上的pixel中心与纹理上的texel中心并不 ...
最新文章
- 从15000个Python开源项目中精选的Top30,Github平均star为3707,赶紧收藏!
- NOIP2017 小凯的疑惑
- ASP.NET中随机数生成及应用
- 智能车竞赛技术报告 | 智能车视觉 - 中南大学 - 中南大学比亚迪午马2021
- pandas pivot 占比_数据处理进阶pandas入门(十八)
- Java黑皮书课后题第3章:*3.34(几何:线段上的点)编程练习题3.32显示了如何测试一个点是否在一个无限长的直线上。修改3.32测试一个点是否在一个线段上。编写程序,输入三个点坐标,显示在否线段
- Log4J入门教程(三) maven构建
- 第10章-管理Hadoop集群-hadoop 安全模式相关知识点
- java –cp ./:_成为Java流专家–第2部分:中级操作
- 前端学习(1553):复习2
- Aruba发布业界首款服务智能边缘的云原生平台Aruba ESP
- Spring Boot笔记-logback-spring.xml获取application.properties中的变量
- php warning: array_merge(),php数组合并array_merge()函数使用注意事项_php技巧
- sp+Ssh+Mysql实现的简单的企业物资信息管理
- 直播疑难杂症排查(1)— 播放失败
- bzoj3224: Tyvj 1728 普通平衡树
- 信息与计算机科学二级学科,《信息计算与智能系统》二级学科 硕士研究生培养方案...
- 曾是谷歌程序员,抛下百万年薪创业,4年成就7亿用户,今身价百亿!
- Excel对整体数据定位相同的背景颜色单元格?
- NAND flash 基础知识
热门文章
- boost::mp11::mp_partial_sum相关用法的测试程序
- boost::mp11::mp_any_of_q相关用法的测试程序
- boost::geometry::dot_product用法的测试程序
- boost::local_time模块custom_time_zone 和 posix_time_zone 的简单示例
- GDCM:读取显式长度SQIVR的测试程序
- boost::core模块实现分配器解除分配
- OpenGL stencil test模板测试的实例
- OpenGL 基础光照ColorsBasic Lighting
- C++实现对链表的选择排序算法(附完整源码)
- 哈希表处理冲突的方法?