gpt4 book ai didi

Flutter – 连续两个文本,左边一个优雅地溢出

转载 作者:IT老高 更新时间:2023-10-28 12:45:16 25 4
gpt4 key购买 nike

如何让两个并排的文本小部件只允许最左边的一个优雅地溢出?

一列中的一个文本小部件很容易优雅地溢出。两个文本小部件连续并排是有问题的。

堆栈溢出需要更多细节,但老实说,我现在可能只是在浪费你更多的时间。

Widget _listItem({String title, String subtitle}){
return Row(
children: <Widget>[
_listItemIcon(),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
_listItemTitle(title),
Row(
children: <Widget>[
_listItemSubtitle(subtitle), // how do I allow this to overflow gracefully
_listItemTime("2m") // but stop this from overflowing
],
)
],
),
),
_listItemFavorite()
],
);
}

//////////////
Widget _listItemIcon(){
return Icon(Icons.message);
}

Widget _listItemTitle(String title){
return Text(
title,
softWrap: false,
overflow: TextOverflow.fade,
style: TextStyle(
fontSize:24.0
),
);
}

Widget _listItemSubtitle(String subtitle){
return Text(
"[$subtitle]",
softWrap: false,
overflow: TextOverflow.fade,
);
}

Widget _listItemTime(String time){
return Text(
"[$time]",
softWrap: false,
overflow: TextOverflow.fade,
);
}

Widget _listItemFavorite(){
return Icon(Icons.favorite);
}

enter image description here

最佳答案

您可以使用 Flexible 小部件:

Widget _listItemSubtitle(String subtitle) {
return new Flexible(
fit: FlexFit.loose,
child: Text(
"[$subtitle]",
softWrap: false,
overflow: TextOverflow.fade,
),
);
}

result


替代方案:

如果您希望时间小部件始终位于右侧,您可以将字幕文本包装在 Expanded 小部件中:

Widget _listItemSubtitle(String subtitle){
return Expanded(
child: Text(
"[$subtitle]",
softWrap: false,
overflow: TextOverflow.fade,
),
);
}

result

关于Flutter – 连续两个文本,左边一个优雅地溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51087681/

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