В этом посте мы покажем вам, как решить, если переполнение текста не работает во Flutter. Эта ошибка возникает, когда виджет «Текст» помещается в виджет «Строка». См. приведенный ниже пример, чтобы решить, не работает ли переполнение текста в вашем приложении.
Row(
children: [
Text(
"Lorem ipsum dolor sit amet. Et officia expedita sed quas dolorem",
overflow: TextOverflow.ellipsis,
)
]
)
Здесь строка имеет неограниченную ширину, а внутри нее текст имеет неограниченную ширину, поэтому переполнение текста не работает. Экран вывода будет выглядеть следующим образом:
Чтобы решить эту проблему, оберните виджет Text() виджетом Expanded()или Flexible().
Expanded(
child:Text(
"Lorem ipsum dolor sit amet. Et officia expedita sed quas dolorem",
overflow: TextOverflow.ellipsis,
)
)
ИЛИ, оберните виджет Flexible():
Flexible(
child:Text(
"Lorem ipsum dolor sit amet. Et officia expedita sed quas dolorem",
overflow: TextOverflow.ellipsis,
)
)
import 'package:flutter/material.dart';
void main(){
runApp(MyApp());
}
class MyApp extends StatelessWidget{
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Home(),
);
}
}
class Home extends StatefulWidget{
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Text Overflow"),
backgroundColor: Colors.deepPurpleAccent,
),
body: Container(
padding: EdgeInsets.all(30),
child: Row(
children: [
Expanded(
child:Text(
"Lorem ipsum dolor sit amet. Et officia expedita sed quas dolorem",
overflow: TextOverflow.ellipsis,
)
),
]
),
),
);
}
}
Таким образом, вы можете решить проблему, если переполнение текста не работает в вашем приложении Flutter.