30天学会Flutter-05:常用组件(Text、Image、Icon、Button)

1. Text组件的属性和使用方法

Text是什么?

Text Widget用于显示一段文本。它是Flutter中最基本的文本显示组件,可以用来展示静态文本、动态文本,并支持丰富的样式设置。

Text的常用属性

  • data (第一个参数):要显示的字符串内容。
  • styleTextStyle对象,用于设置文本的样式,如颜色、字体大小、字体粗细、字体家族、字间距、行高、装饰线等。
  • textAlign:文本的对齐方式,如TextAlign.leftTextAlign.centerTextAlign.right等。
  • textDirection:文本的方向,如TextDirection.ltr(从左到右)或TextDirection.rtl(从右到左)。
  • overflow:当文本超出可用空间时的处理方式,如TextOverflow.ellipsis(显示省略号)、TextOverflow.clip(裁剪)、TextOverflow.fade(渐隐)。
  • maxLines:文本显示的最大行数。当文本超过这个行数时,会根据overflow属性进行处理。
  • softWrap:是否允许文本自动换行。默认为true
  • textScaleFactor:文本的缩放因子,会影响文本的实际显示大小。

TextStyle的常用属性

  • color:文本颜色。
  • fontSize:字体大小。
  • fontWeight:字体粗细,如FontWeight.boldFontWeight.w400等。
  • fontStyle:字体样式,如FontStyle.italic(斜体)。
  • letterSpacing:字间距。
  • wordSpacing:词间距。
  • height:行高(倍数)。
  • decoration:文本装饰线,如TextDecoration.underline(下划线)、TextDecoration.lineThrough(删除线)。
  • decorationColor:装饰线颜色。
  • decorationStyle:装饰线样式,如TextDecorationStyle.dashed(虚线)。
  • fontFamily:字体家族。

Text示例

import 'package:flutter/material.dart';

class TextExample extends StatelessWidget {
   
   
  
  Widget build(BuildContext context) {
   
   
    return Scaffold(
      appBar: AppBar(title: Text('Text Example')),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(
              'Hello, Flutter!',
              style: TextStyle(
                fontSize: 24,
                color: Colors.blue,
                fontWeight: FontWeight.bold,
              ),
            ),
            SizedBox(height: 20),
            Text(
              'This is a long text that will be truncated with ellipsis if it exceeds one line.',
              textAlign: TextAlign.center,
              maxLines: 1,
              overflow: TextOverflow.ellipsis,
              style: TextStyle(
                fontSize: 16,
                fontStyle: FontStyle.italic,
                color: Colors.grey[700],
              ),
            ),
            SizedBox(height: 20),
            Text.rich(
              TextSpan(
                text: 'Don\'t have an account? ',
                style: TextStyle(fontSize: 16, color: Colors.black),
                children: <TextSpan>[
                  TextSpan(
                    text: 'Sign Up',
                    style: TextStyle(
                      fontWeight: FontWeight.bold,
                      color: Colors.purple,
                      decoration
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明似水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值