【发布时间】:2021-01-31 16:22:00
【问题描述】:
我正在尝试在row 中安排两个text。第二个文本只有几个字,但第一个可以很长。我的目标是完全显示第二个文本,并用第一个填充剩余空间。如果第一个小部件太宽,我想用省略号截断它。
我的代码是
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
GlobalKey key = GlobalKey();
return Row(
children: [
Container(
child: Text("Really really really long long long teeeeext",
maxLines: 1,
overflow: TextOverflow.ellipsis),
width: MediaQuery.of(context).size.width - MediaQuery.of(key.currentContext).size.width),
Text("short text", key: key)
],
);
}
}
The following assertion was thrown building MyHomePage(dirty, dependencies: [MediaQuery]): I/flutter (28083): 'package:flutter/src/widgets/media_query.dart': Failed assertion: line 810 pos 12: 'context != I/flutter (28083): null': is not true. 失败
我猜是因为 Flutter 引擎还没有开始渲染“短文本”小部件,所以目前它的大小是未知的。
任何帮助将不胜感激。
【问题讨论】:
标签: flutter text layout row ellipsis