简体   繁体   中英

Flutter different color for different letters in a Text widget

I have a use-case where I want to change the colour of a letter in a String inside a Text widget. Let's say that my String is "Flutter". On pressing the FloatingActionButton , I want the letter 'F' to change its colour, then on the next press of the FloatingActionButton , change the colour of letter 'l', then 'u', then 't', then 't', then 'e' and then finally 'r' with every FloatingActionButton press.

Please don't suggest having a different Text widget for every letter.

You can do this using a RichText widget and different TextSpan s. You can read the documentation to familiarize yourself with it more. https://api.flutter.dev/flutter/widgets/RichText-class.html

RichText(
  text: TextSpan(
    text: 'Hello ',
    style: DefaultTextStyle.of(context).style,
    children: const <TextSpan>[
      TextSpan(text: 'bold', style: TextStyle(fontWeight: FontWeight.bold)),
      TextSpan(text: ' world!'),
    ],
  ),
)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM