Flutter 组件 RichText

167 阅读1分钟

基本用法

RichText( 
    text: TextSpan( 
        style: DefaultTextStyle.of(context).style, 
        children: <InlineSpan>[ 
            TextSpan(text: '文字',
                style: TextStyle(color: Colors.red)), 
                TextSpan(text: ','), 
            TextSpan(text: '不同样式的文字'), ]
     ),
 )

当文字有较多行时,可以设置其对齐方式:

RichText( textAlign: TextAlign.end, ... )

添加点击事件

RichText(
      text: TextSpan(
          style: DefaultTextStyle.of(context).style,
          children: <InlineSpan>[
            TextSpan(text: '登陆即视为同意'),
            TextSpan(
              text: '《xxx服务协议》',
              style: TextStyle(color: Colors.red),
              recognizer: TapGestureRecognizer()..onTap = () {
                ...
              },
            ),
          ]),
     )

recognizer属性指定手势交互,类型是GestureRecognizer,GestureRecognizer是抽象类,一般使用其子类TapGestureRecognizer实现点击交互。