Flutter 如何在颤振中使用水平ListView中的ListTile?

Flutter 如何在颤振中使用水平ListView中的ListTile?,flutter,Flutter,我试图将ListTiles用作水平ListView的项 final brandsWidget = SizedBox( height: 200, child: ListView( scrollDirection: Axis.horizontal, children: [ ListTile( leading: Image.asset('img_1.png'), title: Text('Product 1'), su

我试图将ListTiles用作水平ListView的项

final brandsWidget = SizedBox(
  height: 200,
  child: ListView(
    scrollDirection: Axis.horizontal,
    children: [
      ListTile(
        leading: Image.asset('img_1.png'),
        title: Text('Product 1'),
        subtitle: Text('\$5'),
      ),
      ListTile(
        leading: Image.asset('img_1.png),
        title: Text('Product 2'),
        subtitle: Text('\$3'),
      )
    ],
  ),
);
我得到了以下错误:

Another exception was thrown: BoxConstraints forces an infinite width.
Exception caught by rendering library.
BoxConstraints forces an infinite width.
The relevant error-causing widget was ListTile 

您可以使用
listile
小部件,方法是使用
Container
SizedBox小部件包装它。

错误解释:


出现此错误是因为
ListTiles
具有
无限宽度
。如果你不给他们一个合适的,他们肯定会产生这样的错误。

你可以使用
listile
小部件,方法是用
容器或
大小框小部件包装它。

错误解释:


出现此错误是因为
ListTiles
具有
无限宽度
。如果你不给他们一个合适的,他们肯定会产生这样的错误。

SizedBox
包装
ListTile
例如,如果你的brandsWidget不在一行内,那么你需要将ListTile包装在一个容器中,以设置一个定义的宽度。根据定义,ListTile没有设置的宽度,并将通过约束无限延伸。ListTile具有无限宽度。使用其他小部件(如容器)包装它,并指定特定的宽度。在使用指定宽度的SizedBox包装后,它可以工作。谢谢pskink和Kedar。@ScottGodfrey它在垂直列表视图中。使用
SizedBox
包裹
ListTile
例如,如果您的brandsWidget不在一行中,则需要在容器中包裹ListTile以设置定义的宽度。根据定义,ListTile没有设置的宽度,并将通过约束无限延伸。ListTile具有无限宽度。使用其他小部件(如容器)包装它,并指定特定的宽度。在使用指定宽度的SizedBox包装后,它可以工作。谢谢pskink和Kedar。@ScottGodfrey它在垂直列表视图中。