flutter text

import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return new MaterialApp(
      title: 'flutter demo',
      home: _home(),
    );
  }
}

class _home extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return _homeState();
  }
}

class _homeState extends State<_home> {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return new Scaffold(
        appBar: new AppBar(
          title: Text("title"),
          centerTitle: true,
        ),
        body: new Column(
          //垂直布局
          children: <Widget>[
            //控件组
            Text(
              "Hello world",
              textAlign: TextAlign.center,
              //可以选择左对齐、右对齐还是居中。注意,对齐的参考系是Text widget本身。本例中虽然是指定了居中对齐,
              // 但因为Text文本内容宽度不足一行,Text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,
              // 只有Text宽度大于文本内容长度时指定此属性才有意义。
            ),
            Text(
              "Hello world! I'm Jack. " * 4,//文字重复4次
              maxLines: 1,//最大行数
              overflow: TextOverflow.ellipsis,//超出显示省略号
            ),
            Text(
              "Hello world",
              textScaleFactor: 1.5,//代表文本相对于当前字体大小的缩放因子,相对于去设置文本的样式style属性的fontSize,它是调整字体大小的一个快捷方式。
              // 该属性的默认值可以通过MediaQueryData.textScaleFactor获得,如果没有MediaQuery,那么会默认值将为1.0。
            ),
            new Text(
              'center',
              style: TextStyle(
                  color: Colors.white,//字体颜色
                  fontSize: 18.0,
                  //fontSize:该属性和Text的textScaleFactor都用于控制字体大小。但是有两给主要区别:
                  //fontSize可以精确指定字体大小,而textScaleFactor只能通过缩放比例来控制。
                  //textScaleFactor主要是用于系统字体大小设置改变时对Flutter应用字体进行全局调整,而fontSize通常用于单个文本。
                  height: 1.2,
                  //指定行高,但它并不是一个绝对值,而是一个因子,具体的行高等于fontSize*height
                  fontFamily: "Courier",
                  //由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下
                  background: new Paint()..color = Colors.lightBlue,
                  decoration: TextDecoration.underline,//下划线
                  decorationStyle: TextDecorationStyle.dashed),//下划线样式
              //  decorationColor: Colors.white,下划线颜色
            ),
          ],
        ));
  }
}

//softWrap
//是否自动换行,若为false,文字将不考虑容器大小,单行显示,超出屏幕部分将默认截断处理
//
//overflow
//当文字超出屏幕的时候,如何处理:
//
//TextOverflow.clip(裁剪)
//TextOverflow.fade(渐隐)
//TextOverflow.ellipsis(省略号)
原文地址:https://www.cnblogs.com/gaozhang12345/p/11984679.html