我想在我的应用中创建产品购物车列表。因此我使用了Card Widget,在其内部使用了ListTile Widget。在listTile内,我使用拖尾属性创建了一个Column以添加2个按钮和一个Number,当我创建这些东西时,其显示的布局错误为底稿覆盖55 PIXEL 。
这是密码
@override
_NewTestState createState() => _NewTestState();
}
class _NewTestState extends State<NewTest> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: new AppBar(
title: new Text("data"),
),
body: new Card(
child: new ListTile(
leading: new FlutterLogo(
size: 50.0,
),
title: new Text("Title"),
subtitle: new Text("subtitle"),
trailing: new Column(
children: <Widget>[
new IconButton(
icon: Icon(Icons.arrow_drop_up),
onPressed: () {},
),
new Text("1"),
new IconButton(
icon: Icon(Icons.arrow_drop_down),
onPressed: () {},
),
],
),
),
));
}
}
请帮助我...
答案 0 :(得分:0)
那是因为您的Column
高过ListTile
的身高,因此IconButton
被ListTile
剪断了。我想到了两种选择:
Column
足够小,请尝试将isThreeLine
的{{1}}属性设置为true,这会使ListTile
更高,这可能只是您需要什么。ListTile
和ListTile
来制作自己的Column
。确实并不难。请记住,Row
适用于非常特殊的情况。正如ListTile class documentation所述:如果ListTile填充和定位其元素的方式与您所寻找的不完全相同,则可以轻松结合其他小部件(例如行和列)来创建自定义列表项。
从文档中检查示例应用程序,这是它生成的结果。
这可能是满足您需求的一个很好的起点。
答案 1 :(得分:0)
使用行而不是列。
trailing: Row(
mainAxisSize: MainAxisSize.min,
children: ...
)