Flutter文本快速学习

简介: Flutter 中的文本控件(Text Widget)用于在应用程序中显示单行或多行文本。下面是一些关于 Flutter 文本控件的详细介绍和示例代码。

Flutter 中的文本控件(Text Widget)用于在应用程序中显示单行或多行文本。下面是一些关于 Flutter 文本控件的详细介绍和示例代码。

文本样式

Flutter 的文本控件提供了很多可定制的文本样式选项,例如字体大小、颜色、字重、字体样式等等。下面是一些常用的样式属性:

  • style:一个 TextStyle 对象,用于设置文本的样式属性。
  • textAlign:枚举值,用于指定文本的对齐方式(left、right、center 等等)。
  • textDirection:一个 TextDirection 对象,用于指定文本的方向(ltr 或 rtl)。
  • softWrap:一个布尔值,用于指定文本是否自动换行。
  • overflow:一个 TextOverflow 枚举值,用于指定文本溢出时的处理方式(clip、fade、ellipsis 等等)。

下面是一个示例:

Text(
  'Hello World',
  style: TextStyle(
    fontSize: 24.0,
    color: Colors.blue,
    fontWeight: FontWeight.bold,
    fontStyle: FontStyle.italic,
    decoration: TextDecoration.underline,
    decorationColor: Colors.red,
    letterSpacing: 2.0,
  ),
  textAlign: TextAlign.center,
  textDirection: TextDirection.ltr,
  softWrap: true,
  overflow: TextOverflow.clip,
),

在这个示例中,我们创建了一个带有多种样式属性的文本控件。

文本跨度

Flutter 中的文本可以由多个不同样式的文本片段组成,每个片段称为一个“跨度”(Span)。使用 Flutter 的 TextSpan 类可以创建包含多个跨度的文本,每个跨度可以有不同的样式。下面是一个示例:

Text.rich(
  TextSpan(
    children: <InlineSpan>[
      TextSpan(
        text: 'Hello',
        style: TextStyle(fontWeight: FontWeight.bold),
      ),
      TextSpan(text: ', '),
      TextSpan(
        text: 'world',
        style: TextStyle(color: Colors.blue),
      ),
      TextSpan(text: '!'),
    ],
  ),
),

在这个示例中,我们创建了一个带有两个不同样式的文本片段的文本控件。

Demo 示例代码

下面是一个完整的 Flutter 示例应用程序,它演示了如何使用文本控件和样式属性来显示不同格式的文本:

import 'package:flutter/material.dart';
void main() {
  runApp(MyApp());
}
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Text Widget Demo',
      home: Scaffold(
        appBar: AppBar(
          title: Text('Text Widget Demo'),
        ),
        body: Column(
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: [
            Text(
              'Hello World',
              style: TextStyle(
                fontSize: 24.0,
                color: Colors.blue,
                fontWeight: FontWeight.bold,
                fontStyle: FontStyle.italic,
                decoration: TextDecoration.underline,
                decorationColor: Colors.red,
                letterSpacing: 2.0,
              ),
              textAlign: TextAlign.center,
              textDirection: TextDirection.ltr,
              softWrap: true,
              overflow: TextOverflow.clip,
            ),
            SizedBox(height: 16.0),
            Text.rich(
              TextSpan(
                children: <InlineSpan>[
                  TextSpan(
                    text: 'Hello',
                    style: TextStyle(fontWeight: FontWeight.bold),
                  ),
                  TextSpan(text: ', '),
                  TextSpan(
                    text: 'world',
                    style: TextStyle(color: Colors.blue),
                  ),
                  TextSpan(text: '!'),
                ],
              ),
              textAlign: TextAlign.center,
              textDirection: TextDirection.ltr,
              softWrap: true,
              overflow: TextOverflow.clip,
            ),
          ],
        ),
      ),
    );
  }
}

在这个示例中,我们创建了一个带有两个不同格式的文本控件,并使用 ColumnSizedBox 将它们分开。

相关文章
|
7月前
Flutter 组件(二)文本 与 输入框组件
Flutter 组件(二)文本 与 输入框组件
492 0
|
缓存 Java 开发工具
Flutter的文本、图片和按钮使用
Flutter的文本、图片和按钮使用
132 0
|
1月前
|
设计模式 移动开发 开发框架
如何学习 Flutter 框架?
学习 Flutter 需要耐心和持续的努力,通过系统的学习、实践、交流和不断跟进最新技术,你将逐渐掌握 Flutter 框架,并能够开发出高质量的移动应用。
|
1月前
|
存储 缓存 JavaScript
Flutter 学习之封装 WebView
【10月更文挑战第24天】通过以上的探讨,我们可以看出,在 Flutter 中封装 WebView 是非常有必要的,它可以提高代码的复用性、增强可维护性、提供统一接口。在实际应用中,我们需要根据具体的需求和场景,选择合适的封装方法和技术,以实现更好的效果。
|
2月前
|
Dart 开发者 Windows
flutter:dart的学习
本文介绍了Dart语言的下载方法及基本使用,包括在Windows系统上和VSCode中的安装步骤,并展示了如何运行Dart代码。此外,还详细说明了Dart的基础语法、构造函数、泛型以及库的使用方法。文中通过示例代码解释了闭包、运算符等概念,并介绍了Dart的新特性如非空断言操作符和延迟初始化变量。最后,提供了添加第三方库依赖的方法。
34 12
|
7月前
|
设计模式 缓存 Dart
Flutter学习笔记&学习资料推荐,15分钟的字节跳动视频面试
Flutter学习笔记&学习资料推荐,15分钟的字节跳动视频面试
|
4月前
|
Dart 开发工具 Android开发
Flutter学习:从搭建环境到运行
Flutter学习:从搭建环境到运行
48 0
|
5月前
|
索引
flutter-其他学习
flutter-其他学习
|
5月前
|
移动开发 UED 容器
Flutter-自定义可展开文本控件
Flutter-自定义可展开文本控件
98 0
|
5月前
flutter的状态管理学习
flutter的状态管理学习