gpt4 book ai didi

flutter - 当文本太长时,卡片元素会缩小高度

转载 作者:IT王子 更新时间:2023-10-29 07:04:02 26 4
gpt4 key购买 nike

我的项目中有一个类应该显示一列卡片。不幸的是,我遇到了一些意想不到的行为:如果字幕文本太长而被换行,整张卡片的尺寸就会缩小。

const double OUTER_SPACING = 24.0;
const double LINE_SPACING = 16.0;

class TempTypeSelection extends StatelessWidget {

@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
appBar: AppBar(
title: Text('Select Type'),
),
body:
Container(
margin: EdgeInsets.all(OUTER_SPACING),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,

children: <Widget>[
createListTile(context, Icons.check_circle_outline, "Title", "helpertext"),
createListTile(context, Icons.check_circle_outline, "Title", "helpertext " * 5),
createListTile(context, Icons.check_circle_outline, "Title", "helpertext"),
]
))

)
);
}

Widget createListTile(BuildContext context, IconData icon, String title, String helper) {
return Card(
margin: EdgeInsets.only(bottom: LINE_SPACING),
child: InkWell(
child: Padding(
padding: const EdgeInsets.all(0.0),
child: ListTile(
leading: Icon(icon),
title: Text(title),
subtitle: Text(helper),
),
),
)
);
}
}

看这里:

Screenshot for above code

这是一个错误,还是有意为之但我不明白原因?

最佳答案

是的,这是预期的行为。如果我们看一下 ListTile源代码,我们可以看到 isTwoLine 处理了以下行为:

double get _defaultTileHeight {
final bool hasSubtitle = subtitle != null;
final bool isTwoLine = !isThreeLine && hasSubtitle;
final bool isOneLine = !isThreeLine && !hasSubtitle;

if (isOneLine)
return isDense ? 48.0 : 56.0;
if (isTwoLine)
return isDense ? 64.0 : 72.0;
return isDense ? 76.0 : 88.0;
}

遗憾的是,我(还)不能告诉你这种行为背后的动机是什么。如果我找到更多信息,我会更新此答案。

关于flutter - 当文本太长时,卡片元素会缩小高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55198848/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com