我有一个关于自动换行文本溢出的问题。我知道我应该使用灵活但在哪里?这是我的 flutter 代码。我想解决正确的溢出错误。
class PhotosList extends StatelessWidget {
const PhotosList({Key? key, required this.photos}) : super(key: key);
final List<Photo> photos;
@override
Widget build(BuildContext context) {
return Container(child: LayoutBuilder(
builder: (context, constraints) {
//UI for dekstop
if (constraints.maxWidth > 1200) {
return ListView.builder(
padding: EdgeInsets.all(20),
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: photos.length,
itemBuilder: (context, index) {
return ListTile(
title: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5),
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.grey,
spreadRadius: 0.0,
blurRadius: 1.0,
offset: Offset(0.0, 1.0))
]),
padding: EdgeInsets.all(10),
child: Row(
children: [
Container(child: Image.network(photos[index].activityPhoto,
width: 200,
height: 100,),
),
SizedBox(width: 20,),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(photos[index].activityDate),
Text(photos[index].activityName),
Text(photos[index].activityDetails),
],),
],
)),
);
});
此代码的目标显示带有设计的列表。 1张图片和3条文字。
回答1
使用灵活的小部件包装您的文本列,该列会引发溢出错误:
代码:
Flexible(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("photos[index].activityDate"),
Text("photos[index].activityName"),
Text("photos[index].activityDetails"),
],
),
),