оберните ваш текстовый виджет контейнером, как показано ниже
Пожалуйста: прочитайте закомментированные строки в коде ниже
class TruncatedText extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Container(
//Here you can control the width of your container ..
//when text exceeds it will be trancated via elipses...
width: 130.0,
child: Text('I have a trancated text',
style: TextStyle(fontSize: 20),
softWrap: false,
overflow: TextOverflow.ellipsis,
),
),
);
}
}
Edit:
Вы можете использовать этот чистый код дротика, поскольку оригинальное решение работает для Flutter
void main() {
String to_be_truncated = "Dart is excellent but flutter is awesome";
int truncateAt = to_be_truncated.length-1;//if you use to_be_truncated.lengh no truncation will happen
String elepsis = "..."; //define your variable truncation elipsis here
String truncated ="";
if(to_be_truncated.length > truncateAt){
truncated = to_be_truncated.substring(0,truncateAt-elepsis.length)+elepsis;
}else{
truncated = to_be_truncated;
}
print(truncated);
}