用于显示文字的组件。拥有的属性非常多,足够满足你的使用需求,核心样式由style属性控制。

相关组件

RichText DefaultTextStyle

文字的基本样式

【入参】 : 文字 【String】
【style】: 文字样式 【TextStyle】
【color】: 文字样式 【Color】
【fontSize】: 文字大小 【double】
【fontWeight】: 字重 【FontWeight】
【fontStyle】: 字体样式 【fontStyle】
【letterSpacing】: 字距 【double】
image.png

  1. import 'package:flutter/material.dart';
  2. class CustomText extends StatelessWidget {
  3. @override
  4. Widget build(BuildContext context) {
  5. var style = TextStyle(
  6. color: Colors.blue,
  7. fontSize: 20,
  8. fontWeight: FontWeight.bold,
  9. fontStyle: FontStyle.italic,
  10. letterSpacing: 10,
  11. );
  12. return Container(
  13. width: 200,
  14. color: Colors.cyanAccent.withAlpha(33),
  15. height: 200 * 0.618 * 0.618,
  16. child: Text("toly-张风捷特烈-1994`", style: style),
  17. );
  18. }
  19. }

文字阴影

【shadows】 : 文字 【List
【backgroundColor】: 背景颜色 【Color】
image.png

  1. import 'package:flutter/material.dart';
  2. class ShadowText extends StatelessWidget {
  3. @override
  4. Widget build(BuildContext context) {
  5. return Text(
  6. "张风捷特烈",
  7. style: TextStyle(
  8. fontSize: 50,
  9. color: Colors.white,
  10. backgroundColor: Colors.black,
  11. shadows: [
  12. Shadow(
  13. color: Colors.cyanAccent,
  14. offset: Offset(1, 1),
  15. blurRadius: 10),
  16. Shadow(
  17. color: Colors.blue,
  18. offset: Offset(-0.1, 0.1),
  19. blurRadius: 10),
  20. ]),
  21. );
  22. }
  23. }

文字装饰线

【fontFamily】 : 文字字体 【String】
【decoration】: 装饰线 【TextDecoration】
【decorationColor】: 装饰线颜色 【Color】
【decorationThickness】: 装饰线粗 【double】
【decorationStyle】: 装饰线样式 【TextDecorationStyle】
image.png

  1. import 'package:flutter/material.dart';
  2. class DecorationText extends StatelessWidget {
  3. @override
  4. Widget build(BuildContext context) {
  5. return Text(
  6. "19940328",
  7. style: TextStyle(
  8. fontSize: 50,
  9. fontWeight: FontWeight.bold,
  10. decoration: TextDecoration.underline,
  11. decorationThickness: 3,
  12. decorationStyle: TextDecorationStyle.wavy,
  13. decorationColor: Colors.blue,
  14. fontStyle: FontStyle.italic,
  15. fontFamily: "DancingScript",
  16. letterSpacing: 10),
  17. );
  18. }
  19. }

文字对齐方式

【textAlign】: 对齐方式 【TextAlign】
下面依次是:left、right、center、justify、start、end,
image.png

  1. import 'package:flutter/material.dart';
  2. class TextAlignText extends StatelessWidget {
  3. @override
  4. Widget build(BuildContext context) {
  5. return Wrap(
  6. spacing: 10,
  7. runSpacing: 10,
  8. children: TextAlign.values
  9. .map((e) => Container(
  10. width: 120,
  11. color: Colors.cyanAccent.withAlpha(33),
  12. height: 120 * 0.618,
  13. child: Text(
  14. " 张风捷特烈 toly " * 3,
  15. textAlign: e,
  16. ),
  17. ))
  18. .toList(),
  19. );
  20. }
  21. }

文字方向与最大行数

【maxLines】 : 最大行数 【int】
【【textDirection】 : 文字方向 【TextDirection】
下面依次是:rtl、ltr,
image.png

  1. import 'package:flutter/material.dart';
  2. class TextDirectionText extends StatelessWidget {
  3. @override
  4. Widget build(BuildContext context) {
  5. return Wrap(
  6. spacing: 40,
  7. runSpacing: 10,
  8. children: TextDirection.values
  9. .map((e) => Container(
  10. width: 120,
  11. color: Colors.cyanAccent.withAlpha(33),
  12. height: 120 * 0.618,
  13. child: Text(
  14. " 张风捷特烈 toly " * 10,
  15. textDirection: e,
  16. maxLines: 3,
  17. overflow: TextOverflow.ellipsis,
  18. ),
  19. ))
  20. .toList(),
  21. );
  22. }
  23. }

是否包裹与越界效果

【softWrap】 : 是否换行 【bool】
【overflow】 : 越界效果 【TextOverflow】
下面softWrap=false; overflow依次是:clip、fade、ellipsis、visible,
image.png

  1. import 'package:flutter/material.dart';
  2. class SoftWrapText extends StatelessWidget {
  3. @override
  4. Widget build(BuildContext context) {
  5. return Wrap(
  6. spacing: 10,
  7. runSpacing: 10,
  8. children: TextOverflow.values
  9. .map((e) => Container(
  10. width: 150,
  11. color: Colors.cyanAccent.withAlpha(33),
  12. height: 150 * 0.618 * 0.618,
  13. child: Text(" 张风捷特烈 toly " * 5,
  14. overflow: e,
  15. softWrap: false),
  16. ))
  17. .toList(),
  18. );
  19. }
  20. }