在行内使用时,扩展小部件无法与Inkwell配合使用

时间:2020-04-13 11:52:18

标签: flutter flutter-layout

我有以下代码段

child: Row(
        mainAxisSize: MainAxisSize.max,
        mainAxisAlignment: MainAxisAlignment.spaceEvenly,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: widget.items
            .map((item) => InkWell(
                  child: Expanded(child: buildIconItem(item)),
                  onTap: ()=>(),
                ))
            .toList(),
      );


This is my IconItem
Widget buildIconItem(IconButtonItem item) {
    Color color = item.disabled
        ? Colors.grey.shade400
        : item.selected
            ? Theme.of(context).accentColor
            : Theme.of(context).textTheme.caption.color;
    TextStyle textStyle = TextStyle(color: color);
    return Column(
      mainAxisSize: MainAxisSize.max,
      mainAxisAlignment: MainAxisAlignment.spaceEvenly,
      children: <Widget>[
        ImageIcon(item.iconImage.image, size: 35, color: color),
        SizedBox(
          height: 6,
        ),
        Text(item.imageTitle, style: textStyle),
        SizedBox(
          height: 6,
        ),
        Visibility(child: Text(item.subTitle, style: textStyle),
          visible: item.subTitle != null,),
      ],
    );
  }

我希望每个项目都可以扩展,并且在一个项目到另一个项目的涟漪效应之间,应该没有剩余任何不显示涟漪效应的空间。

现在,由于spaceEvenly标志,每个项目之间的ui看起来像是有一个间隙,并且该间隙没有得到墨水池的波纹效果。所以我想扩展每个项目。

1 个答案:

答案 0 :(得分:2)

展开式广告位于InkWell内部,因为展开式广告的父级可能会解决此问题,所以交换展开式广告。