我有以下 listtile,其副标题包裹着文本,但我不知道如何将其显示在一行上。
child: ListTile(
leading: CircleAvatar(
radius:20,
backgroundColor: Colors.orange[200],
child: Padding(
padding: EdgeInsets.all(5),
child: FittedBox(
child: Text('$100'),
),
),
),
title: Text(widget.title),
subtitle:Padding(
child:Text(condimentList,style: TextStyle(color:Colors.grey)),
padding: EdgeInsets.only(top: 10)),
visualDensity: VisualDensity.compact,
dense:true,
trailing ...
Run Code Online (Sandbox Code Playgroud)
这是我得到的屏幕截图。
您可以使用文本小部件的 maxLines 属性。但你也必须调整布局。可能不适合吧
Text(
condimentList,
style: TextStyle(color:Colors.grey),
maxLines: 1,
overflow: TextOverflow.ellipsis,
),
Run Code Online (Sandbox Code Playgroud)
编辑 1:您可以使用自定义小部件而不是像这样的 ListTile。如果你改进这一点,它看起来会比 ListTile Widget 更好。
Padding(
padding: const EdgeInsets.symmetric(horizontal: 80.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
CircleAvatar(
radius:20,
backgroundColor: Colors.orange[200],
child: const Padding(
padding: EdgeInsets.all(5),
child: FittedBox(
child: Text('\$100'),
),
),
),
const Text("Double Beef Burger"),
CircleAvatar(
radius:10,
backgroundColor: Colors.orange[200],
child: const Padding(
padding: EdgeInsets.all(5),
child: FittedBox(
child: Text('+'),
),
),
),
const Text("1"),
CircleAvatar(
radius:10,
backgroundColor: Colors.orange[200],
child: const Padding(
padding: EdgeInsets.all(5),
child: FittedBox(
child: Text('-'),
),
),
),
]
),
const Text(
"salad, tomato, cheese, salad, tomato, cheese, salad, tomato, cheese",
style: TextStyle(color:Colors.grey),
maxLines: 1,
overflow: TextOverflow.ellipsis,
),
],
),
),
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2324 次 |
最近记录: |