Приведенный ниже код может помочь. Ключ в том, чтобы использовать неразрывные символы нулевой ширины "\ u200d". Дополнительные возможности на этом сайте
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
body: Center(
child: Container(
padding:EdgeInsets.only(left: 30, right:30),
child:RichText(
text: TextSpan(children: [
TextSpan(
text: "这是一趟十分令人",
style: TextStyle(color: Colors.green, fontSize: 30.0)),
TextSpan(
text: "愉\u200d悦",
style: TextStyle(
color: Colors.red,
fontWeight: FontWeight.bold,
fontSize: 30.0),
),
TextSpan(
text: "的旅程",
style: TextStyle(color: Colors.green, fontSize: 30.0)),
])),
)
),
),
);
}
}