Paint paint = Paint()
..color = Colors.blue
..style = PaintingStyle.stroke
..strokeCap = StrokeCap.round
..strokeWidth = 2.0;
RichText(
text: TextSpan(children: [
TextSpan(text: '123'),
TextSpan(text: '456', style: TextStyle(background: paint)),
TextSpan(text: '789')
]))
如果您想要做更有趣的事情,比如添加内边距,请使用WidgetSpan
。
Text.rich(
TextSpan(
text: 'Lorem ipsum',
children: [
WidgetSpan(
alignment: PlaceholderAlignment.middle,
baseline: TextBaseline.ideographic,
child: Container(
margin: const EdgeInsets.symmetric(horizontal: 2),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12),
border: Border.all(color: Colors.blue, width: 1),
),
child: const Text('dolor sit amet,'),
),
),
const TextSpan(text: 'consectetur'),
],
),
);