I'm trying to create a line in which center text has a maximum size, and if the text content is too large, it fits in size.
I insert the TextOverflow.ellipsis property to shorten the text and inserting the triple points ... but it is not working.
main.dart
import 'package:flutter/material.dart'; void main() { runApp(new MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( home: new HomePage(), ); } } class HomePage extends StatelessWidget { @override Widget build(BuildContext context) => new Scaffold( appBar: new AppBar( backgroundColor: new Color(0xFF26C6DA), ), body: new ListView ( children: <Widget>[ new Card( child: new Container( padding: new EdgeInsets.symmetric(horizontal: 16.0, vertical: 18.0), child: new Row( children: <Widget>[ new Container( padding: new EdgeInsets.only(right: 24.0), child: new CircleAvatar( backgroundColor: new Color(0xFFF5F5F5), radius: 16.0, ) ), new Container( padding: new EdgeInsets.only(right: 13.0), child: new Text( 'Text lar...', overflow: TextOverflow.ellipsis, style: new TextStyle( fontSize: 13.0, fontFamily: 'Roboto', color: new Color(0xFF212121), fontWeight: FontWeight.bold, ), ), ), new Container( child: new Column( crossAxisAlignment: CrossAxisAlignment.end, children: <Widget>[ new Row( children: <Widget>[ new Text( 'Bill ', style: new TextStyle( fontSize: 12.0, fontFamily: 'Roboto', color: new Color(0xFF9E9E9E) ), ), new Text( '\$ -999.999.999,95', style: new TextStyle( fontSize: 14.0, fontFamily: 'Roboto', color: new Color(0xFF212121) ), ), ], ), new Row( children: <Widget>[ new Text( 'Limit ', style: new TextStyle( fontSize: 12.0, fontFamily: 'Roboto', color: new Color(0xFF9E9E9E) ), ), new Text( 'R\$ 900.000.000,95', style: new TextStyle( fontSize: 14.0, fontFamily: 'Roboto', color: new Color(0xFF9E9E9E) ), ), ], ), ] ) ) ], ), ) ), ] ) ); } result:

expected:

Here's how you wrap text on overflow in Flutter:Step 1: Make sure your Text widget is inside the Row widget. Step 2: Wrap your Text widget inside the Expanded widget. Step 3: Run your app.
softWrap. Whether the text should break at soft line breaks. If false, the glyphs in the text will be positioned as if there was unlimited horizontal space.
You should wrap your Container in a Flexible to let your Row know that it's ok for the Container to be narrower than its intrinsic width. Expanded will also work.

Flexible( child: new Container( padding: new EdgeInsets.only(right: 13.0), child: new Text( 'Text largeeeeeeeeeeeeeeeeeeeeeee', overflow: TextOverflow.ellipsis, style: new TextStyle( fontSize: 13.0, fontFamily: 'Roboto', color: new Color(0xFF212121), fontWeight: FontWeight.bold, ), ), ), ),
Using Ellipsis
Text( "This is a long text", overflow: TextOverflow.ellipsis, ), 
Using Fade
Text( "This is a long text", overflow: TextOverflow.fade, maxLines: 1, softWrap: false, ), 
Using Clip
Text( "This is a long text", overflow: TextOverflow.clip, maxLines: 1, softWrap: false, ), 
Note:
If you are using Text inside a Row, you can put above Text inside Expanded like:
Expanded( child: AboveText(), )
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With