所以,如果我把大量的文本在一个小组件卡中的文本将超过卡小组件,我不能再看到它的其余部分。
只有当我手动调整每个卡片的大小时,才会显示所有的文字。
是否可以根据卡片中的文字动态扩展CARD widget的高度大小?
例如,无论我放多少文字,卡片的高度都会扩展,以显示所有的文字。
这段代码。
Widget _card(
{Color primary = Colors.redAccent,
String imgPath,
String chipText1 = '',
String chipText2 = '',
Widget backWidget,
Color chipColor = LightColor.orange,
bool isPrimaryCard = false}) {
return Container(
height: isPrimaryCard ? 500 : 500,
width: isPrimaryCard ? width * .90 : width * .90,
margin: EdgeInsets.symmetric(horizontal: 10, vertical: 20),
decoration: BoxDecoration(
color: primary.withAlpha(200),
borderRadius: BorderRadius.all(Radius.circular(20)),
boxShadow: <BoxShadow>[
BoxShadow(
offset: Offset(0, 5),
blurRadius:
10,
color: LightColor.lightpurple.withAlpha(20))
]),
child: ClipRRect(
borderRadius: BorderRadius.all(Radius.circular(20)),
child: Container(
child: Stack(
children: <Widget>[
backWidget,
Positioned(
top: 20,
left: 10,
child: CircleAvatar(
backgroundColor: Colors.transparent,
backgroundImage: NetworkImage(imgPath),
)),
Positioned(
top: 30,
left: 20,
child: _cardInfo(chipText1, chipText2,
LightColor.titleTextColor, chipColor,
isPrimaryCard: isPrimaryCard),
)
],
),
),
));
}
你可能想使用一个 ConstrainedBox
. 它允许你设置一个最小的高度,但如果需要的话可以扩展 。
Card(
child: ConstrainedBox(
constraints: BoxConstraints(
minHeight: 100,
),
child: Text("")
)
)