gpt4 book ai didi

dart - 如何使文本垂直增长和截断?

转载 作者:IT王子 更新时间:2023-10-29 06:42:46 24 4
gpt4 key购买 nike

我的代码很简单:

class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(),
body: Container(
height: 60,
color: Colors.orangeAccent,
child: Row(
children: [
Expanded(
child: Text(
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
overflow: TextOverflow.ellipsis,
),
),
],
)),
));
}
}

它产生以下内容:

enter image description here

我想实现的是:

enter image description here

我能够通过将 maxLines: 3 添加到 Text 来做到这一点,但显然硬编码 maxLines 不是一个选项。

我希望 Text 填充父元素的整个高度,并在需要时用省略号截断。

最佳答案

这个呢

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(),
body: Container(
height: 60,
color: Colors.orangeAccent,
child: Row(
children: [
Expanded(
child: LayoutBuilder(
builder: (context, constraints) {
return Text(
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
overflow: TextOverflow.ellipsis,
maxLines: (constraints.maxHeight / Theme.of(context).textTheme.body1.fontSize).floor() - 1,
);
},
),
),
],
)),
));
}
}

关于dart - 如何使文本垂直增长和截断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55891107/

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