Tout ce dont j'ai besoin, c'est que mon texte soit multiligne. Donne la propriété de maxLines
mais sa toujours obtenir RenderFlex
erreur débordée à droite comme la prochaine ne va pas à la 2ème ligne,
Align( alignment: Alignment.bottomCenter,
child: new ButtonBar(
alignment: MainAxisAlignment.center,
children: <Widget>[
Padding(
padding: EdgeInsets.all(20.0),
child: new Text(
"This is a very bigggggggg text !!!",textDirection: TextDirection.ltr,
style: new TextStyle(fontSize: 20.0, color: Colors.white),
maxLines: 2,
),
)
],
),
)
Assurez-vous que le widget parent limite la largeur de votre texte, puis utilisez le débordement et le nombre maximal de lignes, par exemple:
Container(
width: 150,
child: Text(
"This text is very very very very very very very very very very very very very very very very very very very very very very very very very long",
overflow: TextOverflow.Ellipsis,
maxLines: 5,
),
),
Je pense que vous avez oublié d'ajouter overflow
type.
Vous pouvez utiliser quelque chose comme ceci:
Text(
"TOP ADDED",
textAlign: TextAlign.justify,
overflow: TextOverflow.Ellipsis,
style: TextStyle(fontSize: 18.0),
maxLines: 2,)
essaye ça:
Expanded(
child: Text(
'a long text,
overflow: TextOverflow.clip,
),
),
dans ma mise en œuvre, je l'ai placé à l'intérieur d'une rangée et je l'ai entouré de boîtes de taille de chaque côté, de manière à laisser un peu d'espace entre mes éléments. Pourquoi utiliser élargi? bon en mode portrait ou paysage.
et voici un exemple complet sur la façon de le faire même réagir verticalement et pas seulement horizontalement:
Card(
child: InkWell(
onTap: (){},
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
children: <Widget>[
SizedBox(
height: 70, // default\minimum height
),
Container(
height: 44,
width: 44,
decoration: BoxDecoration(
color: Colors.blue,
borderRadius: BorderRadius.all(Radius.circular(22))),
),
SizedBox(
width: 15,
),
Expanded(
child: Text(
'the very long title',
overflow: TextOverflow.clip,
),
),
SizedBox(
width: 10,
),
Text(
'value', //some other text in the end of the card or maybe an icon instead
),
SizedBox(
width: 30,
),
],
),
),
),
)
Peut-être essayez-vous d'utiliser TextField
:
new TextField(
keyboardType: TextInputType.multiline,
maxLines: 2,
)
juste envelopper votre widget texte avec Dépendu comme ci-dessous,
Expanded(
child: Text("data",maxLines:4,overflow:TextOverflow.Ellipsis,textDirection: TextDirection.rtl,textAlign: TextAlign.justify,),
)