我正在尝试在Flutter中实现这一目标,但无法弄清楚。用图片更容易解释:
我需要文本子项的最大宽度受列中另一个子项的约束(该子项具有可变的宽度-这是AnimatedContainer
,其中动画中的宽度会发生变化)。我该怎么办?
这是我到目前为止的内容,但是允许文本宽度尽可能地扩展。 This is a similar question,但不能解决问题-使用CrossAxisAlignment.stretch
不能满足我的需求。
Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
AnimatedContainer(
width: _isSelected ? 100 : 50,
height: 100,
),
Text(
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua",
overflow: TextOverflow.ellipsis,
),
]
)
答案 0 :(得分:0)
您还可以将Text
小部件包装在另一个AnimatedContainer
中,并向其传递相同的条件宽度,该宽度应传递到其上方的AnimatedContainer
。
Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
AnimatedContainer(
duration: Duration(seconds: 2),
width: _isSelected ? 100 : 50,
height: 100,
),
AnimatedContainer(
duration: Duration(seconds: 2),
width: _isSelected ? 100 : 50,
child: Text(
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore",
overflow: TextOverflow.ellipsis,
),
),
],
)