让表情符号在文本中变大?

use*_*201 5 flutter

知道如何在 Text() 小部件中仅使表情符号的字体大小变大吗?

问题是 Text() 小部件会自动解析表情符号。当然,我可以增加整体文本大小,但我希望文本保持相同的字体大小。

小智 5

如果您想自动增加聊天消息中表情符号的大小,可以使用以下方法:

  static final RegExp REGEX_EMOJI = RegExp(
      r'(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])');

  Widget _buildContent(String content) {
    final Iterable<Match> matches = REGEX_EMOJI.allMatches(content);
    if (matches.isEmpty)
      return Text(
        '${content}',
        style: TextStyle(
          fontSize: 14.0,
          fontWeight: FontWeight.w500,
          color: Colors.black,
        ),
      );
    
    return RichText(
        text: TextSpan(children: [
      for (var t in content.characters)
        TextSpan(
            text: t,
            style: TextStyle(
              fontSize: REGEX_EMOJI.allMatches(t).isNotEmpty ? 20.0 : 12.0,
              color: Colors.black,
            )),
    ]));
  }
Run Code Online (Sandbox Code Playgroud)


Kri*_* CN 2

您可以使用该小部件RichText

RichText(
     text: TextSpan(
          text: 'hello',
          children: <TextSpan>[
             TextSpan(text: '', style: TextStyle(fontSize: 30))
          ]
     ),
),
Run Code Online (Sandbox Code Playgroud)