Flutter基础组件Text

class StudyText extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("文本及样式"),
      ),
      body: Container(
        child: Column(
          //测试Row对齐方式,排除Column默认居中对齐的干扰
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
            Text("Hi Flutter",
              textAlign: TextAlign.left,
            ),
            Text("Hi Flutter ---------------------------------------------------------------------------------- Hi Dart",
              maxLines: 1,
              overflow: TextOverflow.ellipsis,
            ),

            Text("How are you" * 10,
              textScaleFactor: 1.5,
              maxLines: 2,
            ),
          ],
        ),
      ),
    );
  }

}

不加这个的话默认居中显示 crossAxisAlignment: CrossAxisAlignment.start

textAlign

对齐方式 可选择左对齐 右对齐 居中等对齐方式

maxLines

显示最大行数

overflow

文本超出截断方式 TextOverflow.ellipsis 多余以…展示

textScaleFactor

代表文本相对于当前字体大小的缩放倍数

在这里插入图片描述

TextStyle
Center(
  child: Container(
     child: Row(
       crossAxisAlignment: CrossAxisAlignment.start,
       children: <Widget>[
         Text("天王盖地虎",
           style: TextStyle(
             color: Colors.red,
             fontSize: 16.0,
             fontFamily: "Courier",
             backgroundColor: Colors.greenAccent,
             decoration: TextDecoration.underline,
             decorationStyle: TextDecorationStyle.double
           ),
         ),
         Text("宝塔镇河妖",
           style: TextStyle(
             color: Colors.purple,
             fontSize: 16.0,
           ),
         ),
       ],
     ),
   ),
   widthFactor: 3,
   heightFactor: 3,
 ),
height

用于指定行高 但实际行高 = height * fontSize

fontSize

字体大小

fontFamily

使用字体集
在这里插入图片描述

fontSize 和 textScaleFactor 区别

fontSize 可以精确指定字体大小,而textScaleFactor只能通过缩放比例来控制
textScaleFactor主要是用于系统字体大小设置改变时对Flutter应用字体进行全局调整,而fontSize通常用于单个文本,字体大小不会跟随系统字体大小变化。

TextSpan
Text.rich(TextSpan(
  children: [
     TextSpan(
       text: "小鸡炖蘑菇,"
     ),
     TextSpan(
       text: "蘑菇放辣椒。",
       style: TextStyle(
         color: Colors.cyanAccent
       ),
     )
   ]
 )),

在这里插入图片描述

DefaultTextStyle

样式继承

DefaultTextStyle(
  style: TextStyle(
     color: Colors.blue,
     fontSize: 16,
   ), 
   child: Column(
     crossAxisAlignment: CrossAxisAlignment.start,
     children: <Widget>[
       Text("河妖用大招"),
       Text("二楼弯下腰"),
       Text("莫愁不开怀",
         style: TextStyle(
           inherit: false,
           color: Colors.red
         ),
       ),
     ],
   )
 ),

在Widget树的某一个节点处设置一个默认的文本样式,那么该节点的子树中所有文本都会默认使用这个样式,inherit为false则不继承该样式。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值