0

Flutter 的新手。我想设计如下的屏幕。我正在使用 ListTile,但它不允许我添加多个文本。帮助将不胜感激。

在此处输入图像描述

@override
  Widget build(BuildContext context) {
   return Scaffold(
    body: Center(
          child: new ListView.builder(
              itemCount: _ProductsList.length,
              itemBuilder: (BuildContext ctxt, int i) {
                final img = _ProductsList[i].image_urls;
                return new Card(
                    child: Column(
                      children: <Widget>[
                        ListTile(
                          leading: ConstrainedBox(
                            constraints: BoxConstraints(
                              minWidth: 44,
                              minHeight: 44,
                              maxWidth: 64,
                              maxHeight: 64,
                            ),
                            child: Image.network('$url$img'),
                          ),
                           title: Text(_ProductsList[i].title, style: kListTileShopTitleText,),
                          onTap: () {        
                          },
                        ),
                      ],
                    )
                );
              })
      )
    );
 }
4

2 回答 2

1

您可以通过使用富文本来实现这一点,但代码会变得混乱,listtile 提供有限的功能,而不是列表,您应该使用如下所示的列和行:

Column(
Children:[
Row(
Children:[
Card/Container(
//your rectangle image wether using container or card
),
Column(
Children:[
Text(""$itemName),
Row(
Children:[
Icon(
//Rating Icon
),
Text(''$averagerating),
Text(''$totalratings),
]
),
Row(
Children:[
Icon(
//Currency Icon
),
Text(''$Discountedprice),
Text(''$Originalprice),
]
),
]
),]),]),
于 2022-03-03T20:41:27.870 回答
0

使用 listile、title 和 subtitle 的属性。在此内部,您可以将任何小部件用作列,以便放置更多文本。另一种解决方案是构建自己的小部件来替换 listile。

于 2022-03-03T22:01:23.280 回答