我目前正在使用一个AnimatedContainer和一个AnimatedContainer中的LinearProgressIndicator。这是我目前的代码:
LayoutBuilder(
builder: (context, constraints) => AnimatedContainer(
width: expanded ? constraints.maxWidth : 0,
duration: Duration(milliseconds: 250),
child: Container(
color: Colors.red,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(trackName, maxLines: 1, overflow: TextOverflow.ellipsis),
Text(artists.join(", "), maxLines: 1, overflow: TextOverflow.ellipsis),
if (currentProgressValue != null)
Row(
children: [
Text(currentProgress.minutes.toString() + ":" + currentProgress.seconds.toString(),
maxLines: 1, overflow: TextOverflow.ellipsis),
Expanded(
child: LinearProgressIndicator(
valueColor: new AlwaysStoppedAnimation<Color>(MyTheme.primaryColor),
value: currentProgressValue / songDuration,
),
),
],
),
],
),
),
),
),
问题是当压缩AnimatedContainer时,“if(currentProgressValue!= null)”之后的行中的第一个文本溢出。有效的解决方案是将Text和LinearProgressIndicator都放在Expanded中,但这样做会将空间一分为二,这不是我想要的。我不会用LinearProgressIndicator来填充Text的剩余空间。您知道如何解决这个问题吗?
2条答案
按热度按时间bkhjykvo1#
而不是扩展使用灵活的。 Package 小部件可能会溢出,而容器变得更大的灵活。
44u64gxh2#
将溢出小部件 Package 在灵活的小部件中。
例如
这里的文本字段得到溢出。所以我 Package 与灵活的小部件。现在它是工作正常。