如何获取两个并排的文本小部件,以仅允许最左边的一个小部件正常溢出?
一列中的一个文本小部件很容易优雅地溢出。 并排放置两个文本小部件是有问题的。
堆栈溢出需要更多细节,但老实说,我现在可能只是在浪费更多时间。
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);
}
答案 0 :(得分:3)
您可以使用Flexible
小部件:
Widget _listItemSubtitle(String subtitle) {
return new Flexible(
fit: FlexFit.loose,
child: Text(
"[$subtitle]",
softWrap: false,
overflow: TextOverflow.fade,
),
);
}
替代:
如果您希望时间窗口小部件始终位于右侧,则可以将字幕文本包装在Expanded
小部件中:
Widget _listItemSubtitle(String subtitle){
return Expanded(
child: Text(
"[$subtitle]",
softWrap: false,
overflow: TextOverflow.fade,
),
);
}
答案 1 :(得分:1)
可以使用one_px_only_default: 1.0
one_px_with_mdpi_px: Resource not found!
one_px_with_mdpi_dp: Resource not found!
one_px_with_mhdpi_dp: Resource not found!
one_px_with_hdpi_dp: Resource not found!
one_dp_with_mdpi_dp: Resource not found!
one_dp_with_mdpi_px: Resource not found!
one_dp_with_mhdpi_dp: Resource not found!
one_dp_with_mhdpi_px: Resource not found!
one_dp_with_hdpi_dp: Resource not found!
one_dp_with_hdpi_px: Resource not found!
one_dp_with_xhdpi_half: Resource not found!
one_dp_with_xhdpi_half_and_hdpi_fractiondp: Resource not found!
one_dp_with_xhdpi_px_and_hdpi_fractiondp: Resource not found!
one_dp_with_xxhdpi_px_and_hdpi_fractiondp_thin: Resource not found!
或Expanded
小部件来调整小部件的大小以适合行或列。要修复前面的示例,其中文本行对于其渲染框而言太宽,请用Flexible
或Expanded
小部件包装每个文本。
也许您希望小部件占据其同级部件两倍的空间。为此,请使用Flexible
小部件Expanded
属性,该属性是确定小部件的弹性系数的整数。默认的弹性系数为1。以下代码将中间图像的弹性系数设置为2:
flex