Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在颤振中的trailing属性中添加2个以上的按钮和1个文本_Flutter_Dart_Flutter Layout_Trailing_Flutter Widget - Fatal编程技术网

Flutter 如何在颤振中的trailing属性中添加2个以上的按钮和1个文本

Flutter 如何在颤振中的trailing属性中添加2个以上的按钮和1个文本,flutter,dart,flutter-layout,trailing,flutter-widget,Flutter,Dart,Flutter Layout,Trailing,Flutter Widget,我想在我的应用程序中创建产品购物车列表。所以我使用了卡片小部件,里面使用了ListTile小部件。在listTile中,我使用trailing属性创建了一列,添加了两个按钮和一个数字,当我创建这些东西时,它显示了一个布局错误,底部溢出了55个像素 这是密码 @override _NewTestState createState() => _NewTestState(); } class _NewTestState extends State<NewTest> {

我想在我的应用程序中创建产品购物车列表。所以我使用了卡片小部件,里面使用了ListTile小部件。在listTile中,我使用trailing属性创建了一列,添加了两个按钮和一个数字,当我创建这些东西时,它显示了一个布局错误,底部溢出了55个像素

这是密码

  @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: () {},
                ),
              ],
            ),
          ),
        ));
  }
}
@覆盖
_NewTestState createState()=>\u NewTestState();
}
类_NewTestState扩展了状态{
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:新的appBar(
标题:新文本(“数据”),
),
正文:新卡(
孩子:新的ListTile(
领先:新标志(
尺寸:50.0,
),
标题:新文本(“标题”),
副标题:新文本(“副标题”),
尾随:新列(
儿童:[
新图标按钮(
图标:图标(图标。箭头下拉),
按下:(){},
),
新案文(“1”),
新图标按钮(
图标:图标(图标。箭头下拉),
按下:(){},
),
],
),
),
));
}
}

请帮我解决这个问题。

这是因为您的
ListTile
的高度高,因此,您的
图标按钮
ListTile
剪掉了。我想到了两个选择:

  • 如果
    足够小,请尝试将
    ListTile
    isThreeLine
    属性设置为true,这将使
    ListTile
    稍微高一点,这可能正是您需要的
  • 一种更好、更通用的方法是,通过组合
    s和
    s来创建自己的
    列表。这真的不难做到。请记住,
    ListTile
    适用于非常特殊的情况。作为缔约国:
如果ListTile填充和定位其元素的方式与您所寻找的不完全相同,那么可以很容易地使用其他小部件(如行和列)的组合创建自定义列表项

检查文档中的示例应用程序,这是它生成的结果


这可能是您所需内容的良好起点。

使用行而不是列

 trailing: Row(
     mainAxisSize: MainAxisSize.min,
     children: ...
   )