Utilisation de TextSpan dans Flutter  : Guide et exemples

En utilisant TextSpan in Flutter, vous pouvez créer du texte enrichi en appliquant différents attributs de mise en forme à différentes parties du texte. Il vous permet de créer du texte avec différents styles, couleurs, polices et bien plus encore. TextSpan est utilisé à la fois dans les widgets Text et RichText pour obtenir un texte richement formaté.

Voici un exemple d'utilisation TextSpan dans le Text widget :

import 'package:flutter/material.dart';  
  
void main() {  
  runApp(MyApp());  
}  
  
class MyApp extends StatelessWidget {  
  @override  
  Widget build(BuildContext context) {  
    return MaterialApp(  
      home: MyHomePage(),  
   );  
  }  
}  
  
class MyHomePage extends StatelessWidget {  
  @override  
  Widget build(BuildContext context) {  
    return Scaffold(  
      appBar: AppBar(  
        title: Text('TextSpan Example'),  
     ),  
      body: Center(  
        child: Text.rich(  
          TextSpan(  
            text: 'Hello ',  
            style: TextStyle(fontSize: 20),  
            children: [  
              TextSpan(  
                text: 'Flutter',  
                style: TextStyle(  
                  fontWeight: FontWeight.bold,  
                  color: Colors.blue,  
               ),  
             ),  
              TextSpan(text: '!'),  
            ],  
         ),  
       ),  
     ),  
   );  
  }  
}  

Dans cet exemple, nous utilisons Text.rich pour créer un Text widget avec un TextSpan. TextSpan nous permet de créer plusieurs étendues de texte différentes dans un Text widget, chacune avec ses propres attributs de style tels que la police, la couleur et le formatage.

TextSpan peut également être utilisé dans le RichText widget pour obtenir des capacités de formatage de texte plus avancées. Vous êtes libre de créer et de combiner plusieurs TextSpan instances pour créer un texte richement formaté comme vous le souhaitez.

J'espère que cet exemple vous aidera à comprendre comment l'utiliser TextSpan dans Flutter.