📜  Flutter文本小部件

📅  最后修改于: 2021-09-02 05:20:24             🧑  作者: Mango

RichText小部件用于显示使用各种不同样式的文本。显示的文本是使用TextSpan对象树来描述的,每个对象都有自己的关联样式,用于该子树。根据布局约束,文本可能会跨多行显示,也可能全部显示在同一行上。

构造函数:

Syntax:
RichText(
{Key key,
@required InlineSpan text,
TextAlign textAlign: TextAlign.start, 
TextDirection textDirection, 
bool softWrap: true, 
TextOverflow overflow: 
TextOverflow.clip, 
double textScaleFactor: 1.0, 
int maxLines, 
Locale locale, 
StrutStyle strutStyle, 
TextWidthBasis textWidthBasis: TextWidthBasis.parent, 
TextHeightBehavior textHeightBehavior,

特性:

  • 孩子:树中此小部件下方的小部件。
  • hashCode:此对象的哈希码。
  • key:控制一个小部件如何替换树中的另一个小部件。
  • runtimeType:对象的运行时类型的表示。
  • 文本:要在此小部件中显示的文本。
  • textAlign:文本应该如何水平对齐。
  • local:该属性以Locale类为对象。它根据使用的语言控制用于文本的字体。
  • maxLines: maxLines属性接受一个 int 值作为对象。它控制可用于文本展开和换行的最大行数。
  • 溢出: TextOverflow枚举是提供给它的类的对象,它在溢出的情况下控制文本。
  • softWrap:这个属性接受一个布尔值作为对象。如果将其设置为 false,则文本中的深渊会变宽。
  • textDirection:该属性以TextDirection类为对象来决定文本的方向。它可以是从左到右或从右到左。
  • textHightBehaviour: TextHeightBehavior类是赋予此属性的对象。它控制文本将如何突出显示。
  • textScaleFactor:这个属性取一个double值作为对象来确定字体的相对大小。
  • textWidthBasis: TextWidthBasis枚举是这个属性的对象。它控制正在测量的单行文本的宽度。

例子:

Dart
import 'package:flutter/material.dart';
 
void main() {
  runApp(MyApp());
}
 
class MyApp extends StatelessWidget {
  // This widget is
  //the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'ClipOval',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePAGE(),
      debugShowCheckedModeBanner: false,
    );
  }
}
 
class MyHomePAGE extends StatefulWidget {
  @override
  _MyHomePAGEState createState() => _MyHomePAGEState();
}
 
class _MyHomePAGEState extends State {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('GeeksforGeeks'),
        backgroundColor: Colors.green,
      ),
      body: Center(
          child: RichText(
            text: TextSpan(
              text: 'Hello ',
              style: DefaultTextStyle.of(context).style,
              children: [
                TextSpan(text: 'Geeks', style: TextStyle(fontWeight: FontWeight.bold)),
              ],
            ),
          )
      ),
      backgroundColor: Colors.lightBlue[50],
    );
  }
}
 
class MyClip extends CustomClipper {
  Rect getClip(Size size) {
    return Rect.fromLTWH(0, 0, 100, 100);
  }
 
  bool shouldReclip(oldClipper) {
    return false;
  }
}


输出:

颤振中的富文本

解释:

  1. 首先创建一个无状态小部件作为应用程序的主要小部件。
  2. 其次定义一个使用有状态小部件表示主屏幕的类。
  3. 第三个定义脚手架小部件内的应用
  4. 最后,将Richtext小部件放在中心。
想要一个更快节奏和更具竞争力的环境来学习 Android 的基础知识吗?
单击此处前往由我们的专家精心策划的指南,旨在让您立即做好行业准备!